2015-12-10 81 views
0

我有兩個熊貓系列對象,索引略有不同。我想分一個系列。當兩個序列中的一個缺少索引元素時,默認方法給了我NAs。有一個選項可以填寫缺失值,但只能設置爲一個值。我想根據哪個系列缺少該值來填充值。熊貓分割填充多個值

例如

series1 
0 10 
1 20 
2 30 
3 40 


series2 
1 2 
2 3 
3 4 
4 5 

expected result: series1.divide(series2) 
0 inf 
1 10 
2 10 
3 10 
4 0 

actual result: series1.divide(series2) 
0 NaN 
1 10 
2 10 
3 10 
4 NaN 

是否有一個簡單的方法來做到這一點?

回答

1

你可以使用reindex擴大series1.index包括series2.index,以0填充缺失值,則可以使用div方法,填補了默認與南遺漏值:

series1 = pd.Series([10,20,30,40], index=[0,1,2,3]) 
series2 = pd.Series([2,3,4,5], index=[1,2,3,4]) 
series1 = series1.reindex(series1.index.union(series2.index), fill_value=0) 
print(series1.div(series2)) 
# 0  nan 
# 1 10.00000 
# 2 10.00000 
# 3 10.00000 
# 4 0.00000 
# dtype: float64 
+0

謝謝,我試過的東西類似的series1.divide(series2.reindex_like(series1 + series2).fillna(0)),但是給出了稍微不同的結果。 –