dfa = pd.DataFrame({'a':[1,2,3], 'b':[5,6,7]})
dfb = pd.DataFrame({'a':[7,7,7], 'c':[4,4,4], 'e':[0,0,0]})
>>> dfa
a b
0 1 5
1 2 6
2 3 7
>>> dfb
a c e
0 7 4 0
1 7 4 0
2 7 4 0
查找與不同的列(S)
>>> col_diff = dfb.columns.difference(dfa.columns)
>>> col_diff
Index(['c', 'e'], dtype='object')
使新列的列表,並將它們添加:
>>> new = col_diff.tolist()
>>> new
['c', 'e']
>>>
>>> for col in new:
... dfa[col] = None
>>> dfa
a b c e
0 1 5 None None
1 2 6 None None
2 3 7 None None
>>>
使用DataFrame.assign(相同的初始DataFrames)
>>> # try it when the df indices are different
>>> dfc = dfb.set_index('a')
>>> dfc
c e
a
7 4 0
7 4 0
7 4 0
>>> diff = dfc.columns.difference(dfa.columns)
>>> new = diff.tolist()
>>> new = {col:None for col in new}
>>> dfa = dfa.assign(**new)
>>> dfa
a b c e
0 1 5 None None
1 2 6 None None
2 3 7 None None