[英]Python Pandas read_csv dtype fails to covert "string" to "float64"
我有一個標題 = "col1" 和 5 個值的 csv 文件
col1
398
5432
5986
8109
/N
我打算將其設置為熊貓中的數字 col 所以我寫了
import pandas as pd
data = pd.read_csv(r'\test1.csv', dtype = {'col1': 'float64'})
但錯誤消息 ValueError: 無法將字符串轉換為浮點數:'/N'
上面的代碼在沒有斜線的情況下工作正常,最后一行將變成“Nan”。 但是在不改變我的原始數據值的情況下,有沒有辦法抑制“斜線”並使代碼運行?
嘗試使用 error_bad_lines=False:
data = pd.read_csv(r'\test1.csv', dtype = {'col1': 'float64'}, error_bad_lines=False)
數據 = pd.read_csv(r'\\test1.csv', dtype = {'col1': 'float64'}, na_values=[r'/N'])
根據docs , na_values 參數是一個類似列表的字符串結構,可以識別為 NaN。
您可以使用converters
,使用errors='coerce'
轉換為NaN
:
def convert_float(val):
return pd.to_numeric(val, errors='coerce')
df = pd.read_csv('test.csv', converters={'col1': convert_float})
print(df)
col1
0 398.0
1 5432.0
2 5986.0
3 8109.0
4 NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.