2016-11-21 141 views
0

我的DataFrame中有一列float64,需要將其轉換爲Int。 我嘗試了兩個代碼,但數據類型保持不變(float64)如何使用astype()更改數據框中單個列的數據類型?

final_df['Total'] = final_df.Total.astype(int) 
final_df['Total'] = final_df['Total'].astype(int) 

而且,能不能有人解釋數據框[「關口」]和dataframe.col之間的區別?

+1

這應該工作,除非它扔了,你沒有表明它是否做了或沒有錯誤,爲你的最後一個問題喜歡'DF ['col']'over'df.col',後者會導致意外的行爲並且容易出錯,例如如果你有一個名爲'mean'或'sum'的列,並且你調用了'df.mean'這個這個會給你'df.mean()'方法的函數地址,另外根據你賦值的方式,它會添加一個新的列或添加一個屬性,但除非你嘗試訪問新創建的屬性,否則你將不知道列 – EdChum

+0

它沒有拋出任何錯誤。 – user3562812

+0

那麼'final_df.info()'現在顯示什麼?此外,如果它沒有拋出錯誤,那麼你需要發佈原始數據和代碼,允許其他人試圖重現這一點,因爲這是現在推測 – EdChum

回答

0

我認爲你做了什麼是正確的嘗試是這樣的:

final_df['Total'] = final_df['Total'].astype("int")