Python 两个数据帧中的公共列列表
我正在考虑对数据帧进行合并操作,每个数据帧都有大量的列。不希望结果有两个同名的列。我正在尝试查看两个框架之间共同的列名列表:Python 两个数据帧中的公共列列表,python,python-3.x,pandas,Python,Python 3.x,Pandas,我正在考虑对数据帧进行合并操作,每个数据帧都有大量的列。不希望结果有两个同名的列。我正在尝试查看两个框架之间共同的列名列表: import pandas as pd a = [{'A': 3, 'B': 5, 'C': 3, 'D': 2},{'A': 2, 'B': 4, 'C': 3, 'D': 9}] df1 = pd.DataFrame(a) b = [{'F': 0, 'M': 4, 'B': 2, 'C': 8 },{'F': 2, 'M': 4, 'B': 3, 'C'
import pandas as pd
a = [{'A': 3, 'B': 5, 'C': 3, 'D': 2},{'A': 2, 'B': 4, 'C': 3, 'D': 9}]
df1 = pd.DataFrame(a)
b = [{'F': 0, 'M': 4, 'B': 2, 'C': 8 },{'F': 2, 'M': 4, 'B': 3, 'C': 9}]
df2 = pd.DataFrame(b)
df1.columns
>> Index(['A', 'B', 'C', 'D'], dtype='object')
df2.columns
>> Index(['B', 'C', 'F', 'M'], dtype='object')
(df2.columns).isin(df1.columns)
>> array([ True, True, False, False])
如何操作索引对象上的NumPy布尔数组,使其只返回公共列列表?使用或:
后一个选项的替代语法:
df1.columns & df2.columns
我怎么能得到相反的结果呢?不在两个数据帧中的列?@jezrael,在本例中为A,D,FM@raffa_sa-使用
df2.columns.symmetric_difference(df1.columns)
,
df1.columns & df2.columns