pandas:获取数组中的所有groupby值
pandas: get all groupby values in an array
我确定之前有人问过这个问题,抱歉,如果重复了。假设我有以下数据框:
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
获取数组中所有 'splitted' 数据的最简单方法是什么?:
>>
data
key
A [0, 3]
B [1, 4]
C [2, 5]
我不一定只按一个键分组,但也有几个其他索引(例如 'year' 和 'month')这就是为什么我想使用 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]
我确定之前有人问过这个问题,抱歉,如果重复了。假设我有以下数据框:
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
获取数组中所有 'splitted' 数据的最简单方法是什么?:
>>
data
key
A [0, 3]
B [1, 4]
C [2, 5]
我不一定只按一个键分组,但也有几个其他索引(例如 'year' 和 'month')这就是为什么我想使用 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]