pandas解决科学计数法产生的数据错误问题

关于使用pandas遇到的坑


前言

最近,同事告诉我说我写的python工具出现了bug,本来当时是怀着一颗‘肯定是环境因素,不可能是代码原因的心态’,于是我换了几台不同的电脑分别测试,最终还是发现了一个问题。


一、源代码

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
源代码如上所示,可能有细心的小伙伴一眼就能看出问题出在了哪里,但是在这里小编只想说,这个问题平时写代码还真有可能注意不到。

二、解决思路

1.寻找问题

拿到代码时,首先便想到了pandas库在读取excel时,会因为数值过长而将其转化为科学技数法,什么是pandas库,同学们可以去看我前面对pandas库的介绍。

2.解决问题

在这里插入图片描述
从网上寻找了大量答案,解决的问题有俩种:
1.在read_excel中增加一个“dtype=str”,此处表示将excel中读取的所有行列转换为字符格式
2.read_excel()中加入参数,converters={‘列名’:str}


总结

这里对文章进行总结:
以上就是今天要讲的内容,谢谢大家观看

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
pandas 对由科学计数数据构成的 csv 文件的操作与普通的 csv 文件基本相同。你可以使用 `pd.read_csv` 方将 csv 文件读取为 DataFrame,然后对 DataFrame 进行各种操作。 当读取包含科学计数数据的 csv 文件时,有几种方可以处理这些数据: 1. 使用 `dtype` 参数指定数据类型。你可以在调用 `pd.read_csv` 方时使用 `dtype` 参数指定每一列的数据类型。例如,你可以将包含科学计数数据的列的数据类型指定为 `float`。 2. 使用 `converters` 参数转换数据。你可以在调用 `pd.read_csv` 方时使用 `converters` 参数指定一个字典,将包含科学计数数据的列转换为字符串类型。然后,你可以对这些字符串进行进一步的处理。 例如,假设你有一个包含科学计数数据的 csv 文件 `data.csv`,其中包含两列数据 `x` 和 `y`。你可以使用以下代码读取这个文件,并将包含科学计数数据的列的数据类型指定为 `float`: ```python import pandas as pd df = pd.read_csv('data.csv', dtype={'x': float, 'y': float}) ``` 或者,你可以将包含科学计数数据的列转换为字符串类型,并使用 `apply` 方进一步处理这些字符串: ```python import pandas as pd df = pd.read_csv('data.csv', converters={'x': str, 'y': str}) df['x'] = df['x'].apply(lambda x: float(x)) df['y'] = df['y'].apply(lambda x: float(x)) ``` 这将会将 `x` 和 `y` 列的数据类型转换为 `float`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值