系统:Windows 7
语言版本:Anaconda3-4.3.0.1-Windows-x86_64
编辑器:pycharm-community-2016.3.2
- 这个系列讲讲Python的科学计算版块
- 今天讲讲pandas模块:对DataFrame的行列按照新的规则进行重组
Part 1:示例
- 已知一个
DataFrame
,有4列["time", "pos", "value1", "value2", "value3"]
- 以
time
作为列,pos
作为行重组DataFrame
- 从结果上看,相当于对
value1
这一列进行了重新布局,以time
作为列,pos
作为行
原DataFrame
变形后
Part 2:代码
import pandas as pd
dict_1 = {"time": ["2019-11-2", "2019-11-2", "2019-11-2", "2019-11-3", "2019-11-3", "2019-11-3"],
"pos": ["P1", "P2", "P3", "P1", "P2", "P3"],
"value1": [11, 22, 33, 44, 55, 66],
"value2": [1, 2, 3, 4, 5, 6],
"value3": [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(dict_1, columns=["time", "pos", "value1", "value2", "value3"])
df_2 = df.pivot(index="pos", columns='time', values='value1')
print(df)
print("\n")
print(df_2)
代码截图
Part 3:部分代码解读
-
df.pivot(index="pos", columns='time', values='value1')
-index
设置行索引
-columns
设置列索引
-values
设置内容 - 如果调换行列
df_3 = df.pivot(index="time", columns='pos', values='value1')
,结果如下图 - 结合上一章节,是不是可以快速算出每一个
pos
的各种统计值,如下图所示
调换行列
统计结果
本文为原创作品,欢迎分享朋友圈
长按图片识别二维码,关注本公众号
Python 优雅 帅气
12x0.8.jpg
网友评论