python - 保留 pandas 数据框中的原始值

标签 python django csv pandas

我有一个 csv 文件,其格式如下:

A, -0.1234540756893158
B, 0.123450496711731
C, 0.12345994493484497
D, -0.12345484461784363
E, 12344656.0
F, -1234648.0
G, 12342316.0
H, 12552.37109375
I, 16247.228515625
J, -12.123796875
K, 1081104201
L, 123

我正在阅读它:

df = pd.read_csv('/output.csv', header=None, names=['c1','c2'])

然后我将得到如下有趣的索引,并将其保存在csv中:

my_list = [0,1,2,3,4,5,6,7,8,9,10,11]
df[df.index.isin(my_list)].to_csv(thefile2, sep=',', header=None, index = False)

但是当我检查“thefile2”的内容时,我得到这样的输出:

A,-0.123454075689
B,0.123450496712
C,0.123459944935
D,-0.123454844618
E,12344656.0
F,-1234648.0
G,12342316.0
H,12552.3710938
I,16247.2285156
J,-12.123797
K,1081104201.0
L,123.0

可以看出,A、B、C、D、H、I 和 J 的值向上舍入,K 和 L 的末尾有 0。在输出文件中。我的问题是,如何获取第二列中的原始值?

最佳答案

使用参数dtype=strread_csv中的所有值转换为string :

pd.read_csv('/output.csv', header=None, names=['c1','c2'], dtype=str)

示例:

import pandas as pd
from pandas.compat import StringIO

temp=u"""A,-0.1234540756893158
B,0.123450496711731
C,0.12345994493484497
D,-0.12345484461784363
E,12344656.0
F,-1234648.0
G,12342316.0
H,12552.37109375
I,16247.228515625
J,-12.123796875
K,1081104201
L,123"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), header=None, names=['c1','c2'], dtype=str)
print (df)
   c1                    c2
0   A   -0.1234540756893158
1   B     0.123450496711731
2   C   0.12345994493484497
3   D  -0.12345484461784363
4   E            12344656.0
5   F            -1234648.0
6   G            12342316.0
7   H        12552.37109375
8   I       16247.228515625
9   J         -12.123796875
10  K            1081104201
11  L                   123

print (type(df.loc[0, 'c2']))
<class 'str'>

关于python - 保留 pandas 数据框中的原始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41263813/

相关文章:

python - 错误 "(unicode error) ' unicodeescape' 编解码器无法解码位置 2-3 中的字节 : truncated\UXXXXXXXX escape"

python - Django-tastypie prepend_urls 中的多个 url

python - 将已安装的 Python 包作为脚本执行?

python - 是否可以使用 TastyPie 对 ToManyField 属性中的元素进行排序?

html - django 将 htmls 集成到模板中

SQl 输出到 CSV(不带单引号)

python - 带有 OpenCV/python 的 Prosilica GigE 相机

python - 如何在没有 pip 或 virtualenv 的情况下安装 python 包

python - Django - 连接两个模型的最佳实践

c# - 异常处理 - catch 子句中的异常?