python - ID 和月份上的 Groupby 列,并为每个月分配值作为新的 colmuns
问题描述
我有一个数据集,其中我按具有相同 ID 的每月数据进行分组:
temp1 = listvar[2].groupby(["id", "month"])["value"].mean()
这导致:
id month
SN10380 1 -9.670370
2 -8.303571
3 -4.932143
4 0.475862
5 5.732000
...
SN99950 8 6.326786
9 4.623529
10 1.290566
11 -0.867273
12 -2.485455
然后,我希望将每个月和相应的值作为同一 ID 上的自己的列,如下所示:
id month_1 month_2 month_3 month_4 .... month_12
SN10380 -9.670370 -8.303571 .....
SN99950
我使用 apply()、transform() 和 agg() 尝试了不同的解决方案,但无法产生所需的输出。
解决方案
你可以使用unstack
. 这是示例代码:
import pandas as pd
df = pd.DataFrame({
"id": [1, 1, 1, 1, 1, 2, 2, 2, 2, 2],
"month": [1, 2, 3, 4, 5, 1, 2, 3, 4, 5],
"value": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
})
temp1 = df.groupby(["id", "month"])["value"].mean()
temp1.unstack()
我希望它有帮助!
推荐阅读
- jira - 导入测试结果会创建重复测试
- sql - 在OracleSql中按顺序绑定变量
- image - Vuejs 中的动态图像绑定:https://blah/${item.img}
- tomcat - Tomcat:一个或多个侦听器无法启动。完整的详细信息将在相应的容器日志文件中找到
- c++ - 将时间表示为双精度类型的最佳方法是什么
- python - 使用将 NaN 保留为 NaN 的阈值在 Python 中创建指示变量
- asp.net - 在 ASP.NET 中满足特定条件后为所有剩余行着色
- c - Python C 扩展,Visual Studio 2019 给出错误(nullptr,未安装 Python 原生开发工具)
- java - 如何从 Firestore 下载数组。爪哇
- java - 你能用Java形式的CSS吗