pandas:获取数组中的所有 groupby 值

标签 pandas pandas-groupby split-apply-combine

这个问题在这里已经有了答案:





How to group dataframe rows into list in pandas groupby

(15 个回答)


2年前关闭。




我确定之前已经问过这个问题,如果重复,抱歉。假设我有以下数据框:

df = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'],
                   'data': range(6)}, columns=['key', 'data'])

>>
    key data
0   A   0
1   B   1
2   C   2
3   A   3
4   B   4
5   C   5

对“key”进行分组,df.groupby('key').sum()我知道我们可以做这样的事情:
>> 
    data
key 
A   3
B   5
C   7

获取数组中所有“拆分”数据的最简单方法是什么?:
>> 
    data
key 
A   [0, 3]
B   [1, 4]
C   [2, 5]

我不一定只按一个键分组,但也有其他几个索引(例如“年”和“月”),这就是为什么我想使用 groupby 函数,但保留所有分组的值大批。

最佳答案

您可以使用 apply(list) :

print(df.groupby('key').data.apply(list).reset_index())

  key    data
0   A  [0, 3]
1   B  [1, 4]
2   C  [2, 5]

关于pandas:获取数组中的所有 groupby 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55125680/

相关文章:

python - 将 pandas 列名称从蛇形命名法转换为驼峰式命名法

python - 根据数据框中的 id 比较两个数据框列

python - 按特定顺序将多个函数应用于 GroupBy 对象

python - 填充 Pandas 数据框中两列之间的数字

python - 将毫秒列转换为 HH :mm:ss:ms datetime in Pandas

python - 如何分组并根据总和过滤数据框?

python - 返回 pandas 数据帧的函数

matlab - 如何对包含分组数据的矩阵进行行排序

r - 拆分、应用和合并 2 列数据