欢迎光临
我们一直在努力

pandas怎么解决excel科学计数法问题

这篇文章主要介绍“pandas怎么解决excel科学计数法问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“pandas怎么解决excel科学计数法问题”文章能帮助大家解决问题。

    pandas解决excel科学计数法问题

    excel默认处理超14位的数字成科学计数法,且后面的数字默认变0。

    使用pandas合表或者生成新表时这是最恶心的问题。

    亲测两个方法有效

    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")

    pandas替换科学计数法数字

    用Pandas读取数据时发现工单编号、电话号码等变成科学计数法记录。通过观察当电话号码类型是float时采用科学计数法,而int不会。将电话号码转化成int类型(在Excel里电话号码转化成字符串类型也没有解决问题)

    首先要将空值转化成数值,这里我转化成了-1(这里我把data所有字段都填了-1)

    data = data.fillna(-1)

    将电话号码字段转化成int类型(我把所有需要int类型的数字转化了。注意:含有空值会报不能将NA转化成Integer的错误)

    data[['联系电话','关联工单','处理人员','处理满意度']].astype('int64')

    关于“pandas怎么解决excel科学计数法问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注云搜网行业资讯频道,小编每天都会为大家更新不同的知识点。

    赞(0)
    【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。