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

前端之家收集整理的这篇文章主要介绍了python – Pandas Dataframe查找所有列等于的行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含字符的数据帧 – 我想要一个布尔结果的行,告诉我该行的所有列是否具有相同的值.

例如,我有

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.f2er.com/python/185871.html

猜你在找的Python相关文章