我想讀取 csv 但它剔除小數位數:
fname = './sol/Pret-SB_A00DLR0_202205240635.pos'
skiprow = 0
with open(fname) as search:
for i, line in enumerate(search):
if "% GPST" in line:
skiprow = i
break
df = pd.read_csv(fname, skiprows=skiprow, delim_whitespace=True, parse_dates=[[0, 1]])
df.head(2)
給出(前 2 行,前 5 列):
在此處輸入影像描述
原始資料(此處)在第 3 列和第 4 列有 8 位小數。我需要那些。
2211 196568.000 -25.732036008 28.282629130 1387.8994
2211 196569.000 -25.732032386 28.282633712 1389.4025
如何讀取 csv 并保持原始資料的精度?
uj5u.com熱心網友回復:
如何讀取 csv 并保持原始資料的精度?
您確實擁有它,pandas只是為了演示目的限制位數,請考慮以下示例
import pandas as pd
df = pd.DataFrame({'x':[28.282633712]})
print(df)
print(df.x[0])
print(df.x[0] == 28.282633712)
給出輸出
x
0 28.282634
28.282633712
True
uj5u.com熱心網友回復:
您可以將顯示的位數設定為 8,如下所示:
pd.options.display.float_format = "{:,.8f}".format
uj5u.com熱心網友回復:
讀取 csv 時需要使用“precision”引數
#read text file
pd.read_csv(f,float_precision='round_trip',delimiter = "\t")
#read csv
pd.read_csv(f,float_precision='round_trip')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/481840.html
