[英]Getting pandas column name based on bool mask
我有两个数据帧, df1
和df2
,其中一个值在df2
更改。 我正在尝试获取更改值的列名称。
DF1
type method
0 variable method1
1 variable method1
2 variable method1
3 variable method1
DF2
type method
0 variable method1
1 variable method1
2 variable method1
3 timeseries method1
找到变化:
changes = df1.ne(df2)
变化:
type method
0 False False
1 False False
2 False False
3 True False
如何获得更改列的列名?
使用DataFrame.any
测试每列至少一个True
,然后过滤列名称:
print (changes.any())
type True
method False
dtype: bool
print (changes.columns[changes.any()])
Index(['type'], dtype='object')
就快到了; 只需使用其中一个数据框的any
索引columns
,然后使用索引columns
:
res = df1.columns[df1.ne(df2).any()]
# Index(['type'], dtype='object')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.