gpt4 book ai didi

python - Pandas 可以使用列表进行 groupby 吗?

转载 作者:行者123 更新时间:2023-12-02 06:32:30 24 4
gpt4 key购买 nike

import pandas as pd
import numpy as np

rng = np.random.RandomState(0)
df = pd.DataFrame({'key':['A', 'B', 'C', 'A', 'B', 'C'],
'data1': range(6),
'data2': rng.randint(0, 10, 6)},
columns=['key', 'data1', 'data2'])
df

key data1 data2
0 A 0 5
1 B 1 0
2 C 2 3
3 A 3 3
4 B 4 7
5 C 5 9


L = [0, 1, 0, 1, 2, 0]
print(df.groupby(L).sum())

输出为:

  data1 data2
0 7 17
1 4 3
2 4 7

我需要一个明确的解释,好吗?! L 中的 0、1 和 2 分别是什么?它们是 dfkey 列吗?或者它们是 df 的索引标签?那么groupby是如何根据L进行分组的呢?

最佳答案

L 是示例中的整数列表。当你 groupby L 时,你只是说:看看这个整数列表,并根据这些唯一的整数对我的 df 进行分组。

我认为可视化它是有意义的(请注意,df 没有 L 列 - 我只是为了可视化而添加了它):

enter image description here

groupby L 表示 - 取唯一值(在本例中为 0,1 和 2)并对 data1 和 data2 进行求和。因此,当 L=0 时,data1 的结果将为 data1:0+2+5=7(等等)

enter image description here

最终结果是:

df.groupby(L).sum()

    data1   data2
0 7 17
1 4 3
2 4 7

关于python - Pandas 可以使用列表进行 groupby 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59402554/

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