相关疑难解决方法(0)

pandas.to_csv输出一列浮点数而不是整数

我正在研究涉及从数据框查询数据,对其执行一些操作然后将其存储在csv中的项目.这是精简代码.

get_value()是一个函数,它返回从查询中获取的五个值的平均值,强制转换为int.

import pandas as pd
d = pd.DataFrame(columns=['"Column1"','"Column2"'])
test = pd.read_csv("./test.csv", header = None, low_memory=False)
for line in range(1, 15):
    if test.values[line][5] == '1':
        value = str(get_value(line, 1))
    else:
        value = str(get_value(line, 0))
    d.loc[line-1]=[line,value]
d.to_csv('output.csv', index = False)
Run Code Online (Sandbox Code Playgroud)

不幸的是,每当我这样做,我得到第一列(线,显然这里是一个整数)作为一系列浮点数.样本输出:

1.0,4859
2.0,7882
3.0,10248
4.0,8098
5.0,8048
6.0,6087
7.0,7349
8.0,8246
9.0,5863
10.0,5962
11.0,7641
12.0,8127
13.0,7808
14.0,9886
Run Code Online (Sandbox Code Playgroud)

用print语句替换to_csv给了我一个充满美丽int的数据框:

0      1    4859
1      2    7882
2      3   10248
3      4    8098
4      5    8048
5      6    6087
6      7    7349
7      8    8246
8 …
Run Code Online (Sandbox Code Playgroud)

python floating-point integer pandas

2
推荐指数
1
解决办法
5193
查看次数

标签 统计

floating-point ×1

integer ×1

pandas ×1

python ×1