我有类似下面示例的数据。我想返回具有不同值的所有列的列表,如下面的示例输出。
如果我在我的数据中只有两条记录,转置并创建一个只比较两列的新列,我可以想到如何做到这一点但是我不知道如何为两个以上的记录做这个数据。任何提示都非常感谢。
打印df:
Col1 Col2 Col3
A c d
A f d
A c e
期望的输出:
[Col2, Col3]
答案 0 :(得分:4)
使用nunique
df.nunique().gt(1).loc[lambda x : x].index
Out[97]: Index(['Col2', 'Col3'], dtype='object')
答案 1 :(得分:4)
filter
list(filter(lambda c: df[c].nunique() > 1, df))
['Col2', 'Col3']
答案 2 :(得分:2)
同样,df.columns
上的索引:
df.columns[df.nunique().gt(1)]
Index(['Col2', 'Col3'], dtype='object')