为了账号安全,请及时绑定邮箱和手机立即绑定

将混合类型 DF 列中的浮点数转换为字符串使用科学记数法

将混合类型 DF 列中的浮点数转换为字符串使用科学记数法

慕后森 2022-06-14 10:58:09
我有一个数据框,其中有一列正在以混合类型读入。df = pd.DataFrame({'mix':['a',6,0.23423,False, 0.000023425]})我想将列转换为字符串,但是当我这样做时,任何长小数都会转换为科学记数法。如何以十进制表示法保留所有小数?df.astype(str)    mix0   a1   62   0.234233   False4   2.3425e-11期望的输出:    mix0   a1   62   0.234233   False4   0.000000000023425
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

您可以使用 numpy format_float_positional函数,如下所示。


import numpy as np


df = pd.DataFrame({'mix':['a',6,0.23423,False, 0.000000000023425]})


def custom_str(x):

    if isinstance(x, float):

        return np.format_float_positional(x)

    return str(x)


df['mix'].apply(custom_str)

输出:


0                    a

1                    6

2              0.23423

3                False

4    0.000000000023425


查看完整回答
反对 回复 2022-06-14
  • 1 回答
  • 0 关注
  • 205 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号