問(wèn):pandas 讀取文件時(shí)把'NA'字符串讀作空值,但是這個(gè)并不是真的空值,怎么解決?
答:pandas 讀取文本的時(shí)候會(huì)默認(rèn)將如下字符串作為空值處理:
‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘<NA>’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’。
這個(gè)主要由na_values與keep_default_na這兩個(gè)個(gè)參數(shù)控制,詳情可參考:https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html?highlight=read_csv
那么如何去使用這些參數(shù)呢?
na_values:決定哪些值可以表示為缺失值,默認(rèn)的缺失值表示方式: ‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘<NA>’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’。
keep_default_na:決定是否保留na_values默認(rèn)的缺失值表示方式,
- 當(dāng)參數(shù)為True時(shí)pandas會(huì)將文件中所有與默認(rèn)的缺失值表達(dá)形式一致的字符串作為空值(nan)處理,這時(shí)如果na_values被傳入其他參數(shù)那這個(gè)傳入的參數(shù)所代表的值也按缺失值處理。
- 當(dāng)參數(shù)取值為False時(shí),pandas會(huì)將na_values的默認(rèn)值關(guān)閉,如果na_values沒(méi)有被賦值,那么源文件中出現(xiàn)什么值,DataFrame中就是什么值。








暫無(wú)數(shù)據(jù)