list - pandas groupby 两个变量,转换为列表列表和多索引 df?
问题描述
我有一个熊猫数据框,如下所示:
df = pd.DataFrame({
'ID' : ['A','B','C','A','B','C','A','B','C'],
'date' : [1,1,1,2,2,2,3,3,3],
'value': [1,2,3,4,5,6,7,8,9]}
)
1)我怎样才能创建一个列表列表value
(可能是一个groupby
查询),以便我得到外部组分组ID
和内部组date
:
预期结果如下所示:
[[1,4,7],[2,5,8],[3,6,9]]
查询应该在 pandas 中,最好没有 for 循环。
2)添加问题:如何从 groupby 查询中获取多索引数据框:
例如
g = df.groupby('id')
所需的输出:
id date value
A 1 1
2 4
3 7
B 1 2
2 5
3 8
C 1 3
2 5
3 9
解决方案
In [73]: df.groupby(['ID'])['value'].apply(list).tolist()
Out[73]: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
附加问题的答案:
In [110]: df.sort_values(['ID','date']).set_index(['ID','date'])
Out[110]:
value
ID date
A 1 1
2 4
3 7
B 1 2
2 5
3 8
C 1 3
2 6
3 9
推荐阅读
- python - 我可以假设 boto3 'describe_instance_status response' 永远不会是部分的吗?更具体地说,关于“InstanceStatus”属性
- php - 虽然 m 没有将数据导出到 excel 网格线
- javascript - 处理嵌套组件时如何停止触发“单击”事件
- asp.net-core - 使用 reverseProxy 重定向到 signin-oidc 后的 Identity Server 4 显示“message.State 为 null 或为空”。
- macos - 打开终端时找不到命令,可能是 conda 问题?
- javascript - 固定表格标题不与列对齐
- elasticsearch - 如何使用logstash从搜索中删除elasticsearch中的所有文档
- arrays - 当我点击它时,从更大尺寸的地图()中显示我的图像
- javascript - 在 Node.js 中共享 mongodb 连接时遇到问题
- angular - 运行代码后未安装 Angular cli