前提・実現したいこと
TSVを読み込み、TSVまたはCSVで保存すると小数点の桁数が変わらないようにしたい
発生している問題・エラーメッセージ
TSVを読み込み、TSVで保存すると小数点の桁数が変わってしまう
元データ
1 3.811 2 28.535 3 3.538 4 8.725 5 1.0 6 44.609
保存すると
1 3.8110000000000004 2 28.535 3 3.5380000000000003 4 8.725 5 1.0 6 44.608999999999995
該当のソースコード
python
1import io 2import pandas as pd 3 4data = """\ 5id,data 61,3.811 72,28.535 83,3.538 94,8.725 105,1.0 116,44.609 12""" 13 14df = pd.read_csv(io.StringIO(data)) 15 16print(df.dtypes) 17print(df) 18 19df.to_csv("result.tsv", sep='\t', index=False, header=False)
試したこと
dfをprintで表示するとデータ通り
リストだとそのまま保存される
python
1import pandas as pd 2 3df = pd.DataFrame({ 4 "id": [1, 2, 3, 4, 5, 6], 5 "data": [3.811, 28.535, 3.538, 8.725, 1.0, 44.609] 6}) 7 8print(df.dtypes) 9print(df) 10 11df.to_csv("result1.tsv", sep='\t', index=False, header=False)
1 3.811 2 28.535 3 3.538 4 8.725 5 1.0 6 44.609
補足情報(FW/ツールのバージョンなど)
Windows10 1903 64bit
Intel Core i7-4770 @3.4GHz
python3.7.3
pandas==0.25.0
numpy==1.17.0
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/09 04:20