python问题
寫入CSV文件亂碼
file_obj = open(file_name, 'wb') file_obj.write(codecs.BOM_UTF8) # 防止亂碼 writer = csv.writer(file_obj) 在文件頭部寫入codecs.BOM_UTF8就能防止亂碼了,文件都是utf-8編碼格式的
寫入pandas讀取精度問題
file_obj = open(file_name, 'wb') file_obj.write(codecs.BOM_UTF8) # 防止亂碼 writer = csv.writer(file_obj) 在文件頭部寫入codecs.BOM_UTF8就能防止亂碼了,文件都是utf-8編碼格式的
寫入pandas讀取精度問題
有時候用Pandas輸入的數據小數點后的位數太多,我們希望能夠在顯示的時候保留一定的位數而不把它全部顯示出來,這時候就可以用pd.set_option()的方法來進行顯示設置:
import numpy as np import pandas as pd pd.set_option(‘precision’, n) # n是要顯示的精度,應該是一個整數需要注意的是,如果用文件導入(如pd.read_csv函數)DataFrame數據,必須保證導入的數據是純數字而不含字符串(行標簽和列標簽除外)。否則數據不按照float類型載入,精度設置失效。
另外,pd.set_option并不是真正把數據截斷,而只是在顯示的時候按照你的要求顯示小數點后相應位數的小數。用to_csv函數輸出的時候,如果不進行進一步的設置,它仍然會輸出所有位數的小數。
對于類型為浮點型的DataFrame數據data,用以下代碼能夠輸出為精度為4的浮點數。
?
?
?轉載于:https://www.cnblogs.com/lvtianqi/p/6488882.html
總結
- 上一篇: hbase优化实践
- 下一篇: MYSQL百万级数据,如何优化