python中pandas常⽤⽅法
⼀、创建pandas可识别的⼀维数据和⼆维数据、多维数据
pd.Series(list/dict)
pd.DataFrame(list/dict,index,column) #传⼊array⼆维数组,index⾏索引,column列索引
直接读取csv、数据库数据、txt
pd.date_range(开始时间,periods=周期)#
多维(多层索引)
index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(8, 2), index=index, columns=['A', 'B'])
⼆、定位数据
df[columnName]按列名索引,与上⾯⼀样
numpy教程pdfdf.loc[indexName]按⾏名索引
df.loc[indexName]按⾏名索引,与上⾯⼀样
df.loc[:]切⽚的另⼀种形式索引
df.loc[dates[0]]查出含dates数组结构⾏数的第⼀个元素
df.loc[:,'A','B']查出A,B两列
df.iloc[3]按整数查出第三列
df.iloc[[1,2,4],[0,2]]按整数查出0,1,3⾏数,0,1列的数据。
df.iloc[1,1]按整数查出1⾏1列的数据
df.iat[1,1]按整数查出1⾏1列的数据与iloc⽅法⼀样
df.at[:]与loc⽅法⼀样
选择、设置标准 Python / Numpy 的表达式已经⾮常直观,交互也很⽅便,但对于⽣产代码,我们还是推荐优化过的 Pandas 数据访问⽅法:.at、.iat、.loc 和 .iloc。
df[:,:]按⾏列索引,切⽚⽅式
df.at[:,:6]
按计算条件查询出数据
df[条件]
条件:
df.A>0#代表A列全部⼤于0的数据
df.indexName>0,代表IndexName⾏数全部⼤于0的数据
df>0,整个表的数据>0的数据
df.isin(数组A)#筛选出包含数据A的数据
df2[df2['E'].isin(['two', 'four'])]#筛选出E列包含foo,key值的数据
通过可调⽤选择
.loc,.iloc以及[]索引也可以接受⼀个callable索引器。在callable必须与⼀个参数(调⽤系列或数据帧)返回的有效输出索引功能。loc查询的是⾏
df1.loc[lambda df: df.A > 0, :]
df1.iloc[:, lambda df: [0, 1]]
df1[lambda df: df.columns[0]]
df1.A.loc[lambda s: s > 0]
三、更改数据或赋值
通过索引=⽬标值
例如:df.iat[1]='foo'#第2⾏的数据全部等于foo
按标签赋值
df.at[dates[0], 'A'] = 0
按条件where、条件赋值
df2[df2 > 0] = -df2#将全部⼤于0的数据进⾏负数赋值。
四、合并数据
五、分离数据
六、快速计算数据的合、平⽅根、减法、乘法、除法、sin,cos,tant等
七、数据排序
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论