我有两列数据框在列中有许多列,但有一些在两者中都不存在。我想创建一个只有两个数据框之间通用的列的数据框。因此,例如:删除两个数据框之间不常见的列?
list(df1)
['Survived', 'Age', 'Title_Mr', 'Title_Mrs', 'Title_Captain']
list(df2)
['Survived', 'Age', 'Title_Mr', 'Title_Mrs', 'Title_Countess']
而且我喜欢去:
['Survived', 'Age', 'Title_Mr', 'Title_Mrs']
由于Title_Mr
和Title_Mrs
在两种df1
和df2
。我已经想通了如何通过列名像这样手动输入做到这一点:
df1 = df1.drop(['Title_Captain'], axis=1)
但我想找到一个更强大的解决方案,我不必手动输入列名。建议?
不能使用套和十字路口?例如,对于例如 >>> l1 = ['Survived','Age','Title_Mr','Title_Mrs','Title_Captain'] >>> l2 = ['Survived','Age','Title_Mr', 'Title_Mrs', 'Title_Countess'] >>>列表(集(L1).intersection(集(L2))) [ 'Title_Mr', '年龄', 'Title_Mrs', '幸存'] ' – linuxfan 2014-10-02 00:01:27
坦白我不确定。只是澄清 - 我正在处理数据框而不是列表,我只是打印数据框中的列以显示列出现的列。这会改变什么吗?您可以使用'df1 [df1.isin(df2)]' – 2014-10-02 00:06:26
@ ) – linuxfan 2014-10-02 00:23:25