繁体   English   中英

根据bool掩码获取pandas列名

[英]Getting pandas column name based on bool mask

我有两个数据帧, df1df2 ,其中一个值在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM