簡體   English   中英

在通過 pandas 導入 csv 文件時添加不存在的**尾隨**零

[英]An addition of non-existing **trailing** zeros at importing csv file by pandas

導入由給出的 a.csv 文件

a
1.4
1.12

導致在第一行添加一個尾隨零。 如何避免?

在此處輸入圖像描述

這只是df中浮點數據的直觀表示。 如果您想要它不同,請更改它的格式字符串

對於您的數字'{:,g}'將起作用(請參閱格式規范迷你語言- 向下滾動以查看解釋它的表格)。

例子:

import pandas as pd
import numpy as np

with open("data.txt","w") as f:
    f.write("a\n1.4\n1.12")

df = pd.read_csv("data.txt")
print(df) 

# change the way floats are formatted
pd.options.display.float_format = '{:,.06f}'.format

# change the way floats are formatted
pd.options.display.float_format = '{:,g}'.format

df = pd.read_csv("data.txt")
print(df) 

Output:

# default formatting
      a
0  1.40
1  1.12


# {:,06f}
          a
0 1.400000
1 1.120000

# {:,g}
      a
0   1.4
1  1.12

從數字的角度來看,1.4 和 1.40 或 00001.40000000000 之間沒有區別。


Guarav Kumar 的使用建議

df = pd.read_csv('minExamp.csv', dtype = str)

是個壞建議——它將(單)列的數據類型更改為字符串類型。

這將阻止您使用 dataframe 的數字計算任何內容。

df = pd.read_csv('minExamp.csv' , dtype = str)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM