我有兩列數據框在列中有許多列,但有一些在兩者中都不存在。我想創建一個只有兩個數據框之間通用的列的數據框。因此,例如:刪除兩個數據框之間不常見的列?
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