gpt4 book ai didi

python - 在 for 循环中对 pandas groupby 对象进行操作

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:47 25 4
gpt4 key购买 nike

我有一个像

这样的数据框
df = pd.DataFrame({'A': ['foo', 'bar','cat'] * 3,
'B': ['i','who','he','am','are','said','satya','you','hello'],
'C': [5, 2, 3, 4, 6, 9,12,23,45]})
df
Out[47]:
A B C
0 foo i 5
1 bar who 2
2 cat he 3
3 foo am 4
4 bar are 6
5 cat said 9
6 foo satya 12
7 bar you 23
8 cat hello 45

我将它们分组如下:

g = df.groupby('A')
for name, group in g:
print(name)
print(group)

获取 o/p 为:

bar
A B C
1 bar who 2
4 bar are 6
7 bar you 23
cat
A B C
2 cat he 3
5 cat said 9
8 cat hello 45
foo
A B C
0 foo i 5
3 foo am 4
6 foo satya 12

所以我需要做的是我想遍历每个组并再次针对每个组我将遍历(我不知道)列并连接 B 列的值,以便我可以得到类似的东西

bar = who are you
cat = he said hello
foo = i am satya

我无法对其执行 agg 函数。谁能建议如何做到这一点?

最佳答案

IIUC 您可以在 Agroupby,然后应用一个 lambda 来加入字符串值:

In [185]:
df.groupby('A')['B'].apply(' '.join)

Out[185]:
A
bar who are you
cat he said hello
foo i am satya
Name: B, dtype: object

关于python - 在 for 循环中对 pandas groupby 对象进行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34767424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com