【发布时间】:2019-10-26 02:24:33
【问题描述】:
我有这个数据框:
df:
A B
0 a class1
1 b class12
2 a class2
3 a class1
4 b class13
所以,我将 df 分组如下:
df=df.groupby(['A', 'B'])['B'].count()
我明白了
A B
a class1 2
class2 1
b class12 1
class13 1
然后我需要访问这些值,我正在考虑将它们保存在一个数组数组中,这样我就可以轻松读取它并将这些数据表示在一个表中,如下所示:
array = [[a,[class1,1],[class2,1]],[b,[class12,1],[class13,1]]]
最好的方法是什么?还有其他更好的选择吗?
在我真正的问题中,我不知道我将拥有哪些组或组的元素,并且在 groupby 操作之后我需要将它们全部列出。
谢谢
【问题讨论】:
-
您所称的
df(分组后)是Series,保证唯一的MultiIndex。做df.to_dict(),这和你得到的一样好 -
您如何使用您提供的格式访问这些值?结果系列更容易,例如
df[('a','class1')]给你2等等。或者@ALollz 建议的dict。 -
@QuangHoang mm,带有 for 循环?问题是我不知道我将拥有哪些组和项目组,我想将它们全部列出。我将编辑我的问题
-
您可以通过
df.index.values访问群组列表,该列表提供[(a, class1)...],并访问评论的项目。 -
@QuangHoang,我如何访问 A 值并将它们保存到列表中?在这种情况下:A_values = [a,b]
标签: pandas pandas-groupby series