python – Pandas Dataframe查找所有列等于的行
发布时间:2020-12-16 23:32:29 所属栏目:Python 来源:网络整理
导读:我有一个包含字符的数据帧 – 我想要一个布尔结果的行,告诉我该行的所有列是否具有相同的值. 例如,我有 df = [ a b c d0 'C' 'C' 'C' 'C' 1 'C' 'C' 'A' 'A'2 '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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |