gpt4 book ai didi

Python Pandas - 处理重复项

转载 作者:太空狗 更新时间:2023-10-30 02:15:51 25 4
gpt4 key购买 nike

我想处理 pandas df 中的重复项:

df=pd.DataFrame({'A':[1,1,1,2,1],'B':[2,2,1,2,1],'C':[2,2,1,1,1],'D':['a','c','a','c','c']})
df

我只想保留具有唯一值 A、B、C 的行并创建二进制列 D_a 和 D_c,因此结果将是这样的,而无需在每一行上执行超慢循环。

result= pd.DataFrame({'A':[1,1,2],'B':[2,1,2],'C':[2,1,1],'D_a':[1,1,0],'D_c':[1,1,1]})

非常感谢

最佳答案

您可以使用:

df1 = (df.groupby(['A','B','C'])['D']
.value_counts()
.unstack(fill_value=0)
.add_prefix('D_')
.clip_upper(1)
.reset_index()
.rename_axis(None, axis=1))

print (df1)
A B C D_a D_c
0 1 1 1 1 1
1 1 2 2 1 1
2 2 2 1 0 1

关于Python Pandas - 处理重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47812615/

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