pandas - 使用标签行构建 pandas df 列
问题描述
如何将这样的 csv 构建转换为以“var”为列的 DF?
Date var bv value
2000-01-01 Tmin RO1 12
2000-01-01 Tmax RO1 32
2000-01-01 Tmin RO2 23
2000-01-01 Tmax RO2 22
2000-01-02 ….
我预计:
Date Tmin Tmax bv
2000-01-01 12 32 RO1
2000-01-01 23 22 RO2
2000-01-02 ….
我尝试但使用 for 循环,我相信我们可以做更多 pythonic ......
解决方案
IIUC,我们可以使用pd.crosstab
new_df = pd.crosstab(
[df["Date"], df["bv"]], df["var"], values=df["value"], aggfunc=lambda x: x
).reset_index()
print(new_df[['Date','Tmin','Tmax','bv']])
var Date Tmin Tmax bv
0 2000-01-01 12 32 RO1
1 2000-01-01 23 22 RO2
推荐阅读
- reactjs - findOne 没有特定元素的文档
- karate - 空手道独立作为具有多个功能文件的模拟服务器
- c# - .Net 反射以获取具有自定义属性的嵌套属性
- d3.js - 如何在 Angular 4+ 中实现 d3 词云?
- javascript - 如何通过滚动使导航栏文本颜色发生变化
- azure-devops - Azure Pipelines 从管道名称中排除提交消息
- python - 不返回 html 页面进行查看 - django
- blazor - 如何在 Blazor 的输入组件中有条件地使用 PreventDefault?
- imagemagick - ImageMagick 渐变比例
- sql-server - 将 datetime2 列作为 unix 纪元返回