gpt4 book ai didi

python - 如何通过列中的唯一值对 pandas 数据框进行子集化

转载 作者:太空宇宙 更新时间:2023-11-03 20:41:01 25 4
gpt4 key购买 nike

想要找到一种更简单的方法来对数据帧进行子集化并将其创建为新的数据帧

A011 = DF[DF['id']=="A011"]
A012 = DF[DF['id']=="A012"]
A013 = DF[DF['id']=="A013"]
A014 = DF[DF['id']=="A014"]

这可行但效率低下。我实际上有 162 个独特的值。

DF = pd.DataFrame({'id': ["A011", "A012", "A012", "A012","A011", "A012", "A012", "A012"],\
'value': [1, 2, 3, 4, 1, 2, 3, 4]})
A011 = DF[DF['id']=="A011"]
A012 = DF[DF['id']=="A012"]
A013 = DF[DF['id']=="A013"]
A014 = DF[DF['id']=="A014"]

期望的输出

    id  value
0 A011 1
4 A011 1

id value
1 A012 2
5 A012 2

最佳答案

df = pd.DataFrame({'id': ["A011", "A012", "A012", 
"A012","A011", "A012", "A012", "A012"], 'value': [1, 2, 3, 4, 1, 2, 3, 4]})
result = [x.reset_index(drop=True) for _, x in df.groupby(['id'])]

由于您想要基于唯一的 id 列创建数据帧,因此我们可以按 id 列对数据帧进行分组,该列为每个组返回一个数据帧。在创建的数据帧上使用 reset_index 删除原始索引。

关于python - 如何通过列中的唯一值对 pandas 数据框进行子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56865354/

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