python - 如何在熊猫中自动旋转数据
问题描述
我习惯于使用 Excel 并尝试学习 Python,尤其是 Pandas。我的目标是用 Plotly/Dash 绘制一个大型数据集。我的数据集看起来很像 Pandas 教程中的数据集。我有更多的参数,并且有 20 个位置也有更多的位置。
date.utc location parameter value
2067 2019-05-07 01:00:00+00:00 London Westminster no 23.0
2068 2019-05-07 01:00:00+00:00 London Westminster no2 45.0
2069 2019-05-07 01:00:00+00:00 London Westminster pm25 11.0
1003 2019-05-07 01:00:00+00:00 FR04014 no2 25.0
100 2019-05-07 01:00:00+00:00 BETR801 pm25 12.5
1098 2019-05-07 01:00:00+00:00 BETR801 no2 50.5
1109 2019-05-07 01:00:00+00:00 London Westminster co 8.0
我使用 pd.read_csv 导入文件,然后手动为每个位置和每个参数创建一个数据透视表,并使用单独的变量,这是一项相当艰巨的工作。
有没有办法自动旋转这些数据?我想要分组的位置和每个参数的列。我的目标是将这些数据放在破折号中,在顶部我想要一个带有位置的下拉菜单,在右侧我想选择 no、no2、pm .... 每个参数都有单独的轴标签。
我在堆栈溢出时在这里找到了这段代码,并试图为我调整它,但它不起作用。
df = pd.read_csv('https://api.statbank.dk/v1/data/mpk100/CSV?valuePresentation=Value&timeOrder=Ascending&LAND=*&Tid=*', sep=';')
df = df[df['INDHOLD'] != '..']
df['rate'] = df['INDHOLD'].str.replace(',', '.').astype(float)
available_countries = df['LAND'].unique()
df.groupby('LAND')
提前谢谢了。:)
解决方案
如果我理解正确:
x = df.pivot(["date.utc", "location"], "parameter", "value")
print(x)
印刷:
parameter co no no2 pm25
date.utc location
2019-05-07 01:00:00+00:00 BETR801 NaN NaN 50.5 12.5
FR04014 NaN NaN 25.0 NaN
London Westminster 8.0 23.0 45.0 11.0
推荐阅读
- python-3.x - TypeError:不支持的格式字符串传递给 NoneType.__format__ python
- python - 附加到上传的 PyPi 包的运行脚本 (.sh)
- javascript - 本地网络上的 Excel Javascript 加载项部署
- tensorflow - EfficientDet 的非最大抑制设置和后处理
- sql - 在nodejs中插入多个项目的SQL查询
- ethereum - 批准是否需要时间来确认,在 BSC 中如何处理?
- tensorflow - tensorflow不使用gpu错误无法加载动态库'libcudnn.so.8'
- r - 如何在 R 中提取时间序列模型的每小时数据
- c++ - 为什么 std::forward 将我的左值变成右值?
- amazon-web-services - AWS lambda 不返回二进制内容