pandas21 讀csv檔案read_csv(9.浮點轉換和NA值)(詳細 tcy)
阿新 • • 發佈:2018-12-29
浮點轉換和NA值 2018/12/26
目錄: 第1部分:csv文字檔案讀寫 pandas 讀csv檔案read_csv(1.文字讀寫概要)https://mp.csdn.net/postedit/85289371 pandas 讀csv檔案read_csv(2.read_csv引數介紹)https://mp.csdn.net/postedit/85289928 pandas 讀csv檔案read_csv(3.dtypes指定列資料型別)https://mp.csdn.net/postedit/85290575 pandas 讀csv檔案read_csv(4.to_csv文字資料寫)https://mp.csdn.net/postedit/85290962 pandas 讀csv檔案read_csv(5.文字資料讀寫例項)https://mp.csdn.net/postedit/85291123 pandas 讀csv檔案read_csv(6.命名和使用列)https://mp.csdn.net/postedit/85291430 pandas 讀csv檔案read_csv(7.索引)https://mp.csdn.net/postedit/85291658 pandas 讀csv檔案read_csv(8.方言和分隔符)https://mp.csdn.net/postedit/85291994 pandas 讀csv檔案read_csv(9.浮點轉換和NA值)https://mp.csdn.net/postedit/85292391 pandas 讀csv檔案read_csv(10.註釋和空行)https://mp.csdn.net/postedit/85292609 pandas 讀csv檔案read_csv(11.日期時間處理) https://mp.csdn.net/postedit/85292925 pandas 讀csv檔案read_csv(12.迭代和塊)https://mp.csdn.net/postedit/85293639 pandas 讀csv檔案read_csv(13.read_fwf讀固定寬度資料)https://mp.csdn.net/postedit/85294010 第2部分: pandas hdf檔案讀寫簡要https://mp.csdn.net/postedit/85294299 pandas excel讀寫簡要https://mp.csdn.net/postedit/85294545 第3部分: python中csv模組用法tcy https://mp.csdn.net/postedit/85228189 pandas讀csv檔案read_csv錯誤解決辦法7種https://mp.csdn.net/postedit/85228808 pandas to_string用法https://mp.csdn.net/postedit/85294935
例項1:指定浮點轉換的方法
# float_precision用C引擎;語法分析用特定的浮點轉換器。 # 選項包括普通,高精度,往返轉換器(保證在寫入檔案後往返值) val = '0.3066101993807095471566981359501369297504425048828125' data = 'a,b,c\n1,2,{0}'.format(val) abs(pd.read_csv(StringIO(data), engine='c', float_precision=None)['c'][0] - float(val)) #1.1102230246251565e-16 abs(pd.read_csv(StringIO(data), engine='c', float_precision='high')['c'][0] - float(val)) #5.5511151231257827e-17 abs(pd.read_csv(StringIO(data), engine='c', float_precision='round_trip')['c'][0] - float(val))#0.0
例項2:NA值
na_values #將哪些值解析為缺失值; # 如指定字串列表,其中所有值視為缺失值。 # 如指定數字則相應的等效值也是缺失值;如[5.0, 5]NaN keep_default_na=False#完全覆蓋被識別為缺失的預設值 # 預設NaN識別值 ['-1.#IND', '1.#QNAN', '1.#IND', '-1.#QNAN', '#N/A N/A', '#N/A', 'N/A', 'n/a', 'NA', '#NA', 'NULL', 'null', 'NaN', '-NaN', 'nan', '-nan', ''] # 例子: read_csv(path, na_values=[5]) #除預設值外5,5.0被識別為NaN。 read_csv(path, keep_default_na=False, na_values=[""]) #只有一個空欄位將被識別為NaN read_csv(path, keep_default_na=False, na_values=["NA", "0"])#NA和0作為字串NaN。 read_csv(path, na_values=["Nope"]) #除預設值外"Nope"也被識別為 NaN pd.read_csv(r'file_data5.csv',header=None) 0 1 2 0 1001.0 Tom NaN 1 NaN Bob 30.0 2 1003.0 Jim 40.0 pd.read_csv(r'file_data5.csv',header=None,na_values={0:[1001,'NA'],1:'Bob',2:30}) 0 1 2 0 NaN Tom NaN #將第1列的1001,第2列的Bob,第3列的30變為空值 1 NaN NaN NaN 2 1003.0 Jim 40.0