qq_40554892
2021-06-16 16:51
采纳率: 100%
浏览 147

如何让dataframe从excel导入时不使用科学计数法,以避免因缺失精度而导致的计算误差

求助:

使用dataframe从excel导入数据时,因为导入成为了科学计数法,所以之后的比率计算等的结果精度就不够了,例如:

原数据(excel中):

元素a:1998946.82;元素b:       174688573.05    那么a/b就会等于0.0114429168

但是在导入成为dataframe后:

元素a:199895e+06;元素b:      1.74689e+08      那么a/b就会等于0.0114429071

 

所以在想有没有办法在计算的全过程不使用科学计数法。

感谢!

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • CSDN专家-黄老师 2021-06-16 17:08
    已采纳

    1、若数据量不大,可将to_excel替换成to_csv,csv的包容性还是极强的,但当数据量庞大时,会遇到打不开的情况。

    2、万能解法,read_excel时:

    df = pd.read_excel("filepath", dtype=str)


    一律str型,就不存在数字不数字的情况了。但要注意:

    df = df.infer_objects()
    """
    """
    df.to_excel("filepath", index=False, encoding="utf-8")


    如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢

    1 打赏 评论
  • CSDN专家-HGJ 2021-06-16 17:46

    可参考这个文章里写的解决办法,希望对你有用。https://blog.csdn.net/chenbaixing/article/details/105179091

    打赏 评论
  • 有问必答小助手 2021-06-18 15:45

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

    打赏 评论

相关推荐 更多相似问题