Pandas切片值列中的所有值都相等

时间:2017-12-13 23:52:58

标签: python pandas numpy dataframe slice

想象一下,我有一个包含3列的数据框,如下例所示。我正在寻找一种Pandaic / Pythonic方法来获取一个数据帧,其中所有三列列都具有相同的值。在这种情况下,我希望结果只是一个只有第0行和第3行的数据帧。除了蛮力之外,是否有人有一个很好的方法?

import pandas as pd
df1=pd.DataFrame({'Col1' : [1, 2, 3, 'foo'], 
                  'Col2' : [1, 4, 5, 'foo'],
                  'Col3' : [1, 12, 13, 'foo']})

1 个答案:

答案 0 :(得分:3)

使用nunique

df1[df1.nunique(1)==1]
Out[171]: 
  Col1 Col2 Col3
0    1    1    1
3  foo  foo  foo