python - 在 Pandas Dataframe 中查找多列(不是所有列)中具有相同值的行
问题描述
下面是我的数据框:
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
我希望那些same values
行在columns(X1, X2,X3)
. 在这里我们可以看到2nd
,3rd
以上 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=1
并DataFrame.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
,按第一列进行比较,并通过以下方式获取每行的所有 True 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
推荐阅读
- laravel - 使用 Alpine 创建一个“始终打开的日期选择器”| 活线
- quasar - q-layout 中是否有一种方法可以在类星体中滚动到顶部?
- react-native - 如何在 React Native 中将 ViewPager 合并到 Stack Navigator 中
- jpa - JPQL 查询参数中的时间戳未转换为 UTC
- r - 使用 cut 为变量创建组,我将如何在 ggplot 中使用它?
- javascript - 数据库无法从 crawl.php 获取数据
- google-apps-script - 需要删除以逗号分隔的重复数字的脚本
- python - 如何为我的登录和注册页面编写成功页面?
- python - python中多列的层次映射
- java - 尝试使用 ElasticSearch 存储和获取一些数据