ssp*_*ssp 3 python dataframe pandas
以下是我的数据框:
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
Run Code Online (Sandbox Code Playgroud)
我想有这些行same values 在columns(X1, X2,X3)。在这里我们可以看到2nd,3rd对于以上 3 列,行具有相同的值。我想要的输出是:
X1 X2 X3 X4 X5
A A A 12 BAM
B B B 10 BAM
Run Code Online (Sandbox Code Playgroud)
我试过如下:
yourdf1=df[df.nunique(0)==0]
print(yourdf1)
Run Code Online (Sandbox Code Playgroud)
但在这里我收到一个错误。任何人都可以帮助我。
通过选择列表中的每行的唯一值的测试数列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
Run Code Online (Sandbox Code Playgroud)
另一种解决方案是DataFrame.eq与过滤一起使用DataFrame,按第一列比较并通过以下方式获取每行的所有真值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
Run Code Online (Sandbox Code Playgroud)