pandas 在导入 csv 文件时添加了不存在的**尾随**零
An addition of non-existing **trailing** zeros at importing csv file by pandas
正在导入
给出的 .csv 文件
a
1.4
1.12
导致在第一行添加一个 尾随 零。如何避免?
df = pd.read_csv('minExamp.csv' , dtype = str)
这只是您 df
中浮动数据的直观表示。如果你想要它不同,请更改 格式字符串 。
对于您的数字 '{:,g}'
会起作用(请参阅 format specification mini language - 向下滚动以查看解释它的 table)。
示例:
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)
输出:
# 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 之间没有区别。
使用
df = pd.read_csv('minExamp.csv' , dtype = str)
是糟糕的建议 - 它将(单个)列的数据类型更改为字符串类型。
这将阻止您使用数据帧的数字计算任何内容。
正在导入
给出的 .csv 文件a
1.4
1.12
导致在第一行添加一个 尾随 零。如何避免?
df = pd.read_csv('minExamp.csv' , dtype = str)
这只是您 df
中浮动数据的直观表示。如果你想要它不同,请更改 格式字符串 。
对于您的数字 '{:,g}'
会起作用(请参阅 format specification mini language - 向下滚动以查看解释它的 table)。
示例:
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)
输出:
# 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 之间没有区别。
df = pd.read_csv('minExamp.csv' , dtype = str)
是糟糕的建议 - 它将(单个)列的数据类型更改为字符串类型。
这将阻止您使用数据帧的数字计算任何内容。