使用 pandas 将 .csv 文件转换为科学计数法

Posted

技术标签:

【中文标题】使用 pandas 将 .csv 文件转换为科学计数法【英文标题】:Converting .csv file into scientific notation with pandas 【发布时间】:2021-10-21 11:29:24 【问题描述】:

我正在尝试使用 pandas 转换 csv 文件。

def convert_file(file, columns, name):
    df = pd.read_csv(file, header=0, delimiter=',')
    df.drop(df.columns[columns], axis=1, inplace=True)
    df.to_csv(name, index=False, header=False)

删除不需要的列后,我想将数字转换为科学格式。 我有什么选择?

例子:

当前结果 -> 期望结果

0.0053455117 -> 5.3455117e-003

0.88455491 -> 8.8455491e-001

10.576477 -> 1.0576477e+001

【问题讨论】:

你看过这个帖子吗:***.com/questions/21137150/…? 【参考方案1】:

我有什么选择?

利用float_format.to_csv。考虑以下示例

import pandas as pd
df = pd.DataFrame('x':[0.1,0.01,0.001])
df.to_csv("file.csv",float_format="%e",header=False,index=False)

产生file.csv

1.000000e-01
1.000000e-02
1.000000e-03

【讨论】:

以上是关于使用 pandas 将 .csv 文件转换为科学计数法的主要内容,如果未能解决你的问题,请参考以下文章

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

如何使用 python 和 pandas 将 Csv 文件转换为 libsvm?

如何自动将csv转换为pandas?

使用 python 和 pandas 将错误创建的大型 csv 文件转换为制表符分隔文件

pandas使用read_csv读取文件数据设置converters参数将百分比字符串转换为数字

pandas读取csv文件时避免科学计数法(xxxe+09)