簡體   English   中英

Python Pandas read_csv dtype 無法將“字符串”轉換為“float64”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM