pandas.read_csv 将字符串转换为科学记数法中的“数字”(我不想要)

Posted

技术标签:

【中文标题】pandas.read_csv 将字符串转换为科学记数法中的“数字”(我不想要)【英文标题】:pandas.read_csv turns strings into 'numbers' in scientific notation (which I don't want) 【发布时间】:2020-06-18 15:06:16 【问题描述】:

我有一个数据集,其中一些示例标识符(在索引列中找到)可以解释为数字。示例:20010104123140E5 和 2001010412314529。我尝试指定索引列的类型为字符串,但 pandas.read_csv 坚持将标识符转换为浮点数。请参见下面的示例。

有谁知道我该如何解决这个问题?还是我在这里做错了什么?

import pandas as pd

with open('test.data', mode = 'w') as infile: 
    infile.write('id\tval\n20010104123140E5\t1\n2001010412314529\t2')

df = pd.read_csv('test.data', dtype = 'id':'str', 'val':'float', sep='\t', index_col='id')
print(df)

【问题讨论】:

【参考方案1】:

使用 df.index = df.index.astype(str)

【讨论】:

以上是关于pandas.read_csv 将字符串转换为科学记数法中的“数字”(我不想要)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 pandas.read_csv() 将索引数据读取为字符串?

如何在使用 pandas.read_csv 读取 csv 文件时将 pandas.dataframe 中的元素转换为 np.float?

如何在使用 pandas.read_csv 读取 csv 文件时将 pandas.dataframe 中的元素转换为 np.float?

获取 pandas.read_csv 以将空值读取为空字符串而不是 nan

Pandas:ValueError:无法将浮点 NaN 转换为整数

将 pandas 数据框转换为列表列表以输入 RNN