gpt4 book ai didi

python - 如何使用 pandas 快速对数据框中数据的多个特征进行分组

转载 作者:行者123 更新时间:2023-12-02 02:14:47 26 4
gpt4 key购买 nike

假设这是我的原始数据:

data = {'library_id': ['A123', 'A456','B123', 'A123', 'A123', 'B123', 'A456'],
'school': ['A1','A', 'B', 'A', 'A2', 'B', 'A'],
'charge ($)': [5.0, 10.0, 3.0, 2.5, 1.0, 4.0, 2.5],
'check_in_month': [12, 3, 4, 5, 4, 9, 5]}
library =pd.DataFrame(data)

enter image description here

我正在努力得到这个结果:

enter image description here

这是我获得结果的代码:

df = pd.DataFrame(library.library_id.value_counts())

school_list = []
for i in df.index:
school_list.append(library[library.library_id == i].school.unique())
df['school'] = school_list
df

我的问题是如何避免使用列表(即 school_list = [])来获得相同的结果。因为当我有大量数据时,使用列表将数据附加到数据框非常耗时。还有其他更快的方法吗?

最佳答案

你可以尝试:

result = library.groupby("library_id").agg({"library_id": "size", "school": "unique"})

获取

            library_id       school
library_id
A123 3 [A1, A, A2]
A456 2 [A]
B123 2 [B]

我们按library_id进行分组,然后agg根据组大小唯一条目对其进行重新调整。

如果您不希望 library_id 出现在索引顶部,您可以编写 result.index.name = None 因为它是索引的名称结果

关于python - 如何使用 pandas 快速对数据框中数据的多个特征进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67343838/

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