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