【问题标题】:Converting float to string without scientific notation在没有科学计数法的情况下将浮点数转换为字符串
【发布时间】:2020-09-16 23:30:00
【问题描述】:

我正在使用 python / pandas。

我的数据框包含一个名为“id”的列,其中包含 20 位 ID,例如 1225485903482773506,数据类型为 float。 如果我使用

将列转换为字符串
df['id'] = df['id'].apply(str)

他们以这样的方式出现1.289050198535111e+18

如何在没有科学记数法的情况下将它们转换为字符串?

【问题讨论】:

  • 你能打印df.dtypes

标签: python pandas


【解决方案1】:

您需要对其应用字符串格式化程序,而不是将其包装在字符串中。具体来说,您可以:

df["id"].apply("{:.0f}".format)

您可以简单地将 "{:.0f}" 更改为 "{:.1f}" 或 "{:.2f}" ... "{:.nf}" 以便能够保留 0、1、2 , ... n 位小数。

或者,如果您想查看小数点右侧的所有数字,那么这应该可以:

df["id"].apply("{:f}".format)

【讨论】:

    【解决方案2】:

    也许您应该尝试使用str() 方法? (未测试)

    df['id'] = str(df['id'])
    

    【讨论】:

    • 这是不正确的,因为 OP 希望将每个单独的项目从 collum 转换为字符串,而不是整个项目
    猜你喜欢
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 2020-06-10
    • 2010-09-09
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多