从 pandas groupBy 中获取值和键列表

萨姆萨特

我正在使用 pandas 创建一些统计数据所需的三个数组。我需要所有字段、月份以及该月完成和开始的次数。

我的数据框如下

           month  finish  started
0  MONTH.Mar       1        0
1  MONTH.Mar       1        0
2  MONTH.Mar       1        0
3  MONTH.Mar       1        0
4  MONTH.Mar       1        0
5  MONTH.Mar       0        1
6  MONTH.Apr       1        0
7  MONTH.Mar       0        1
8  MONTH.Mar       0        1
9  MONTH.Feb       0        1

我做一个groupby:

df.groupby('month').sum()

输出如下:

           finish  started
month                     
MONTH.Apr       1        0
MONTH.Feb       0        1
MONTH.Mar       5        3

如何将数据转换为三个不同的列表,如下所示:

['MONTH.Apr','MONTH.Feb','MONTH.Mar']
[1,0,5]
[0,1,3]

我试图这样做frame.values.tolist(),但输出如下:

[[1, 0], [0, 1], [5, 3]]

并且不可能得到几个月。

非常感谢

not_speshal

IIUC,尝试reset_index()转置.T

>>> df.groupby('month').sum().reset_index().T.to_numpy()
array([['MONTH.Apr', 'MONTH.Feb', 'MONTH.Mar'],
       [1, 0, 5],
       [0, 1, 3]], dtype=object)

要么:

>>> df.groupby('month').sum().reset_index().T.values.tolist()
[['MONTH.Apr', 'MONTH.Feb', 'MONTH.Mar'], [1, 0, 5], [0, 1, 3]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章