我有這個 csv 檔案(稱為df.csv):

我使用以下代碼閱讀了它:
import pandas as pd
df = pd.read_csv('df.csv')
我使用以下代碼將其列印出來:
print(df)
列印的輸出如下所示:
employment_type ltv
0
1
2 Salaried 77.13
3 Salaried 77.4
4 Salaried 76.42
5 Salaried 71.89
如您所見,前兩條記錄為空。我使用以下代碼檢查資料框資訊:
print(df.info())
輸出如下所示:
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 employment_type 6 non-null object
1 ltv 6 non-null object
現在,我希望:
employment_type會被作為物件讀入(這符合我的期望)ltv會被讀為浮點數
我猜這兩個欄位都作為物件讀入的原因是因為第一個空記錄,對嗎?
雖然我很高興employment_type作為物件被讀入,但如何在ltv欄位中以數字形式讀入?我不想在讀入檔案后修改格式。我需要找到一種在讀入檔案時自動分配正確格式的方法:我將不得不讀入一些具有數百列的類似檔案,我無法手動為每一列分配正確的格式。
uj5u.com熱心網友回復:
我猜這兩個欄位都作為物件讀入的原因是因為第一個空記錄,對嗎?
是的,pandas 非常擅長推斷資料型別,空單元格不能是 int 或 float。
要解決您的問題,只需洗掉這些空行(使用 dropna),然后您就可以撰寫
df['ltv']=df['ltv'].astype(float)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/456075.html
上一篇:Pandas解壓json列
