gpt4 book ai didi

python - Pandas Dataframe 查找所有列都相等的行

转载 作者:行者123 更新时间:2023-12-05 07:35:00 26 4
gpt4 key购买 nike

我有一个包含字符的数据框 - 我想要一个按行的 bool 结果,告诉我该行的所有列是否都具有相同的值。

比如我有

df = [  a   b   c   d

0 'C' 'C' 'C' 'C'

1 'C' 'C' 'A' 'A'

2 'A' 'A' 'A' 'A' ]

我想要的结果是

0  True

1 False

2 True

我试过 .all 但似乎我只能检查是否所有都等于一个字母。我能想到的唯一其他方法是在每一行上做一个独特的,看看它是否等于 1?提前致谢。

最佳答案

我认为最干净的方法是使用 eq 对照第一列检查所有列:

In [11]: df
Out[11]:
a b c d
0 C C C C
1 C C A A
2 A A A A

In [12]: df.iloc[:, 0]
Out[12]:
0 C
1 C
2 A
Name: a, dtype: object

In [13]: df.eq(df.iloc[:, 0], axis=0)
Out[13]:
a b c d
0 True True True True
1 True True False False
2 True True True True

现在你可以使用 all(如果它们都等于第一项,则它们都相等):

In [14]: df.eq(df.iloc[:, 0], axis=0).all(1)
Out[14]:
0 True
1 False
2 True
dtype: bool

关于python - Pandas Dataframe 查找所有列都相等的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49827911/

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