我正在使用熊貓來讀取csv文件。數據是數字,但以文本形式存儲在csv文件中。某些值在不良或缺失時爲非數字值。如何過濾這些值並將其餘數據轉換爲整數。在python熊貓中讀取csv並處理不良值
我假設有一個更好/更快的方式比循環所有的值和使用isdigit()
來測試它們是數字。
熊貓或者numpy是否有一種方式來識別讀者的不良值?如果不是,那麼最簡單的方法是什麼?我必須指定dtypes來完成這項工作嗎?
我正在使用熊貓來讀取csv文件。數據是數字,但以文本形式存儲在csv文件中。某些值在不良或缺失時爲非數字值。如何過濾這些值並將其餘數據轉換爲整數。在python熊貓中讀取csv並處理不良值
我假設有一個更好/更快的方式比循環所有的值和使用isdigit()
來測試它們是數字。
熊貓或者numpy是否有一種方式來識別讀者的不良值?如果不是,那麼最簡單的方法是什麼?我必須指定dtypes來完成這項工作嗎?
pandas.read_csv
有參數na_values
:
na_values : list-like, default None
List of additional strings to recognize as NA/NaN
在這裏你可以定義這些錯誤值。
NumPy專門爲此提供了功能genfromtxt()
。從鏈接文件的第一句話:從文本文件
加載數據,以作爲指定的方式處理缺失值。
好的,謝謝。我認爲熊貓應該是更高層次的附加組件。我期待着這個功能。那麼只需使用它並將其轉換爲數據框? – Dave31415 2012-03-29 14:57:43
@ Dave31415:我不知道你的數據究竟是怎樣的,但這是我首先嚐試的方法。 – 2012-03-29 14:59:51
如果'pandas.read_csv'沒有做你需要的,請在GitHub上創建一個問題:http://github.com/pydata/pandas/issues – 2012-03-30 00:23:12
您可以使用pandas.read_csv
傳遞值的自定義列表,將其視爲缺失。或者,您可以將函數傳遞給converters
參數。
太好了。這似乎是我正在尋找的。 – Dave31415 2012-03-30 13:35:47
如果字符串是列相關的,有沒有辦法使用na_values?例如,我有一些負值不好的列,但是其他的地方他們很好。 – Shawn 2017-03-23 19:45:03
不是@Shawn。理想情況下,您無法對每列的na_values執行不同的操作。在數據預處理/清洗時應該處理負值 – JKC 2017-12-13 07:06:07