gpt4 book ai didi

python - 在 Pandas Dataframe 的多列(不是所有列)中查找具有相同值的行

转载 作者:太空宇宙 更新时间:2023-11-04 09:29:39 26 4
gpt4 key购买 nike

下面是我的数据框:

X1  X2  X3  X4  X5
A B C 10 BAM
A A A 12 BAM
B B B 10 BAM
A B B 60 BAM

我希望那些行在列(X1, X2,X3) 中具有相同的值。在这里我们可以看到 2nd3rd 行的上述 3 列具有相同的值。 我想要的输出是:

 X1 X2  X3  X4  X5
A A A 12 BAM
B B B 10 BAM

我试过如下:

yourdf1=df[df.nunique(0)==0]
print(yourdf1)

但是这里我遇到了一个错误。谁能帮帮我。

最佳答案

通过 axis=1DataFrame.nunique 中选择列表中的列以测试每行的唯一值数量并测试 1 以过滤 boolean indexing :

yourdf1 = df[df[['X1','X2','X3']].nunique(axis=1) == 1]
print(yourdf1)
X1 X2 X3 X4 X5
1 A A A 12 BAM
2 B B B 10 BAM

另一个解决方案是使用 DataFrame.eq使用过滤后的 DataFrame,按第一列进行比较并按 DataFrame.all 获取每行的所有真值:

df1 = df[['X1','X2','X3']]
yourdf1 = df[df1.eq(df1.iloc[:, 0], axis=0).all(axis=1)]
print(yourdf1)

X1 X2 X3 X4 X5
1 A A A 12 BAM
2 B B B 10 BAM

关于python - 在 Pandas Dataframe 的多列(不是所有列)中查找具有相同值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56198775/

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