2013-03-17 53 views
0

填充缺失值。例如我有這樣的:pandas.Dataframe:從另一個DF

df_1 = pd.DataFrame({'A': [3 for _ in xrange(10)], 
        'B': [3 for _ in xrange(10)], 
        'C': [3 for _ in xrange(10)]}) 
df_2 = pd.DataFrame({'A': [2 for _ in xrange(5)], 
        'B': [2 for _ in xrange(5)], 
        'C': [2 for _ in xrange(5)]}) 

print(df_1 - df_2) 

和輸出將如預期:

A B C 
0 1 1 1 
1 1 1 1 
2 1 1 1 
3 1 1 1 
4 1 1 1 
5 NaN NaN NaN 
6 NaN NaN NaN 
7 NaN NaN NaN 
8 NaN NaN NaN 
9 NaN NaN NaN 

我怎麼能填補缺少新創建的DF值數值從df_1

回答

4

您可以使用combine_first填寫缺失值:

In [2]: (df_1 - df_2).combine_first(df_1) 
Out[2]: 
    A B C 
0 1 1 1 
1 1 1 1 
2 1 1 1 
3 1 1 1 
4 1 1 1 
5 3 3 3 
6 3 3 3 
7 3 3 3 
8 3 3 3 
9 3 3 3