在DataFrame

时间:2018-03-11 16:24:16

标签: python-3.x pandas dataframe

我有一个数据框,并且我想找到在行中包含不同值的列,例如。

import pandas, math
df = pandas.DataFrame([[1, math.nan, 2], [math.nan, math.nan, 2]], 
                      columns=['A', 'B', 'C'])

我的目标显然是 A 列。我确实设法通过一种相当丑陋的方法来选择它

[k for k, v in df.to_dict('list').items() 
 if len(set(map(str, v))) > 1]

我对此并不满意。有人可以为这种手术建议正确的方法吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

以下是使用nunique

的一种方法
df.fillna('NAN').nunique()==len(df)
Out[148]: 
A     True
B    False
C    False
dtype: bool