2017-05-25 23 views
0
import pandas 
from decimal import Decimal 


base_data = pandas.DataFrame(data = {'name':'Sarah', 'balance': Decimal(1)}, index = [0]) 

## drop the first row and aggregate 
summary_data = base_data.drop(0).groupby('name').agg({'balance' : 'sum'}) 

summary_data.balance.dtype 

產生聚合在空數據框上時,Pandas agg函數將結果列類型轉換爲float64。我如何確保類型保持一致?

dtype('float64') 

代替Decimaldtype('O')因爲它應該。

此問題稍後會在我的代碼中導致類型錯誤,當我執行左連接時,填充零並嘗試向float64中添加另一個小數)。

回答

1

重鑄你的數據框與astype

summary_data = base_data.drop(0).groupby('name').agg({'balance' : 'sum'}).astype(base_data.dtypes) 
相關問題