Pandas-构建一个数据表

作者: Rainbow想喝奶茶 | 来源:发表于2022-01-19 17:44 被阅读0次

今天的更新,是来看看如何构建一个Pandas,其实是在一个老铁分享的文章中学到的,感谢这位老铁。知识点主要有以下几个:

  • 构建时间序列
  • 从固定列表中,生成固定长度的随机数组
  • 创建DataFrame
  • 多个DataFrame合并
  • 应用现有字段生成新字段
    首先引入包:
import pandas as pd
import numpy as np

注:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。(其实看不太懂,但是直接用吧........

生成固定日期的时间序列

time=pd.date_range(start='12/1/2021', end='12/31/2021')
#输出一个从2021年12月1日至2021年12月31日的时间序列

打印time,输出结果如下所示:


time输出结果

其中 freq='D',意思是以天为切割单位,此项为默认设置,可以更改为其它数值。

固定数据生成随机数组

给定一个列表后,在此列表范围内,想要生成一定长度的新的列表,可以应用np.random.choice(list,size,replace,p)
其中,list为抽取元素的给定列表;
size规定了新的数组的大小;
replace设置为True,意味着取出元素可重复,否则不可重复;
p规定了取出每个元素的概率,默认所有元素取出概率一致。

names = ['Amy', 'Tom', 'Mary', 'Maria', 'Selina', 'Ella']
name_list = np.random.choice(names, size=len(time), replace=True)
#从names中取元素,组成一个大小为time长度的数组,取出元素时可重复,所有元素取出概率一致。

打印name_list,输出结果如下所示:


name_list输出结果

以此类推,构建出水果名称列表,及公斤数列表。

fruits = ['牛油果', '香蕉', '草莓', '耙耙柑', '葡萄', '奶酪枣']
fruit_list = np.random.choice(fruits, size=len(time_range), replace=True)
kilogram = np.random.choice(range(1, 10), size=len(time_range), replace=True)

创建DataFrame

规定列名称,直接应用上方的各个一维数组构建。

order = pd.DataFrame({
    "time": time,
    "fruit": fruit_list,
    "name": name_list,
    "kilogram": kilogram
})

类似的,创建出一个information DataFrame。

information = pd.DataFrame({
    "fruit": fruits,
    "price": [1, 2, 3, 4, 5, 6],
    "region": ["华北", "西北", "西南", "东北", "东南", "华中"]
})

两个DataFrame的分别输出结果是:


order部分数据 information

多个DataFrame合并

想要将两个表合并,应用下方语句:
pd.merge(dataframe_a, dataframe_b,how='outer')
合并a和b,并且是以去并集的形式,如果想要取交集,则how='inner'。
这里希望合并order和information,并且以time升序排列,且重新构建新的DataFrame的索引。语句如下:

df = pd.merge(order, information, how='outer').sort_values("time").reset_index(drop=True)

输出结果为:


df部分输出结果

生成新的字段

如果想依据现有字段生成新的字段,比如依据上方的kilogram和price算总价,则可以应用:

df["amount"] = df["kilogram"] * df["price"]

这个时候在输出df,可以看到,新的字段amount已经计算并匹配完成,结果为:


df更新后部分输出结果

好久不见,22年的开篇真的是拖了很久,最近都没有怎么上进了,每天仿佛都有新的事情要忙~~~

但,今天可能是上进了,因为,我写到这里,已经感觉到疲惫了。

仍然是自我记录,有错误欢迎指正~~~

相关文章

  • Pandas-构建一个数据表

    今天的更新,是来看看如何构建一个Pandas,其实是在一个老铁分享的文章中学到的,感谢这位老铁。知识点主要有以下几...

  • DataFrame

    DataFrame 表示矩阵数据表,有行索引和列索引。 构建方式 对于大型 DataFrame,head 方法只选...

  • [2]一幅图系列random forests 随机森林

    决策树对那些用来构建自己的数据表现地好,可能对新数据表现不好 因此出现了随机森林,它继承了决策树简洁的优点,同时还...

  • Pandas-其他

    多个DataFrame操作 合并 处理数据 填充缺失值 使用一个全局常量填充缺失值:将缺失值用同一个常数(如Unk...

  • SpringBoot 自动建表

    使用MyBatis或者JDBCTemplate的时候,并不能自动创建数据库表,这样需要多花点时间进行数据表的构建。...

  • pandas-基础笔记

    Pandas学习笔记-基础篇 参考资料 https://www.yiibai.com/pandas/ 导入模块 S...

  • Pandas-筛选数据

    筛选数据 转置 遍历 traj_plot.py 排序 通过列名来排序 通过某一列的数值排序 选择 series选择...

  • Pandas-创建数据

    创建数据 随机数据 创建一个Series,pandas可以生成一个默认的索引 通过numpy创建DataFrame...

  • 数据表操作

    创建数据表: 查看数据表: 查看数据表的基本结构: 查看数据表的详细结构:(查看脚本) 修改数据表 添加字段

  • 首发!腾讯开源“百万级”Netty进阶指南(2021最新)

    Netty 据有关数据表明,现在越来越多的公司开始使用Netty来构建应用,使用Netty的开发者也日益暴增。它作...

网友评论

    本文标题:Pandas-构建一个数据表

    本文链接:https://www.haomeiwen.com/subject/qxmrhrtx.html