首页 Python python – Pandas Dataframe查找所有列等于的行

python – Pandas Dataframe查找所有列等于的行

我有一个包含字符的数据帧 – 我想要一个布尔结果的行,告诉我该行的所有列是否具有相同的值. 例如,我有 df = [ a b c d0 C C C C 1 C C A A2 A A A A ] 我想要的结果是 0 True1 False2 True 我已经尝试了,但似乎

我有一个包含字符的数据帧 – 我想要一个布尔结果的行,告诉我该行的所有列是否具有相同的值.

例如,我有

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

我已经尝试了,但似乎我只能检查所有都等于一个字母.我唯一可以想到的方法是通过在每一行做一个独特的,看看是否等于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

现在你可以使用全部(如果它们都等于第一个项目,它们都是相等的):

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

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/kaifa/python/20201117/12374.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部