我想寫一個數據幀從一個數據幀(df2)到另一個數據幀(df1)的一系列('b'
)。兩個數據框都使用相同的索引列,但df2
的索引範圍稍微偏離一些,並且缺少一些df1
的索引。Augment DataFrame index
這是當前的行爲:
>>> import pandas as pd
>>> pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
a b
0 1 4
1 2 5
2 3 6
>>>
>>> df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
>>> df1 = df.set_index(['a'])
>>> df1
b
a
1 4
2 5
3 6
>>> dg = pd.DataFrame({'a': [3, 4, 5], 'b': [7, 8, 9]})
>>> dg
a b
0 3 7
1 4 8
2 5 9
>>> df2 = dg.set_index('a')
>>> df2
b
a
3 7
4 8
5 9
>>> df1['b'] = df2['b']
>>> df1
b
a
1 NaN
2 NaN
3 7.0
當我打電話df1['b'] = df2['b']
那些不df2
正在成爲nan
指數的值和df2
不在df1
沒有得到帶入df1
指數。
有沒有什麼方法可以改變這種行爲,使得生成的DataFrame在下面?你可以去
>>> df1
b
a
1 1
2 2
3 7
4 8
5 9