考虑 Dataframe d
:
d = pd.DataFrame({'a': [0, 2, 1, 1, 1, 1, 1],
'b': [2, 1, 0, 1, 0, 0, 2],
'c': [1, 0, 2, 1, 0, 2, 2]})
> a b c
0 0 2 1
1 2 1 0
2 1 0 2
3 1 1 1
4 1 0 0
5 1 0 2
6 1 2 2
我想按列a
将其拆分到字典中,如下所示:
{0: a b c
0 0 2 1,
1: a b c
2 1 0 2
3 1 1 1
4 1 0 0
5 1 0 2
6 1 2 2,
2: a b c
1 2 1 0}
我使用pandas.groupby
找到的解决方案是:
{k: table for k, table in d.groupby("a")}
其他解决方案是什么?
2条答案
按热度按时间krcsximq1#
您可以将
dict
与应用于groupby
的tuple
/list
一起使用:dict
的一个高效内存替代方法是创建groupby
对象,然后使用get_group
:如果生成的表需要一些小的操作,例如重置索引或删除groupby列,则继续使用字典解析。
pprl5pva2#
输出: