我有如下数据:
id value time
1 5 2000
1 6 2000
1 7 2000
1 5 2001
2 3 2000
2 3 2001
2 4 2005
2 5 2005
3 3 2000
3 6 2005
我的最终目标是将数据列在如下列表中:
[[5,6,7],[5]] (this is for id 1 grouped by the id and year)
[[3],[3],[4,5]] (this is for id 2 grouped by the id and year)
[[3],[6]] (same logic as above)
我使用df.groupby(['id', 'year'])
对数据进行了分组。但在那之后,我无法访问组并获取上述格式的数据。
您可以执行以下操作:
输出
如果要计算多个列的列表,可以执行以下操作:
同时计算B和C的列表:
您可以使用
apply(list)
:如果您真的希望它的格式与您显示的完全一样,那么您可以按
id
分组,然后再次应用list
,但这并不高效,而且这种格式可能更难使用。。。相关问题 更多 >
编程相关推荐