【问题标题】:convert decimal to string python将十进制转换为字符串python
【发布时间】:2016-10-05 13:48:55
【问题描述】:

我导入了制表符分隔文件来创建一个数据框 (df),它具有以下 label:

label
1
2

3

1

这是存储为 pandas.core.series.Series 的,我想将其转换为字符串格式,以便在将其写入文本文件时去掉小数。

df.class_label=df.label.fillna('')
df.to_string(columns=['label'],index=False)

变量类型还是Series,输出(文本文件)也有小数:

1.0 2.0  3.0  1.0

如何去掉这些小数?

【问题讨论】:

  • 如何将其导出为文本文件或 csv?
  • 使用pd.read_csv(file,sep='\t')

标签: python pandas decimal tostring


【解决方案1】:

您可以使用to_string() 方法的float_format 关键字参数:

df.to_string(columns=['label'], index=False, float_format=lambda x: '{:d}'.format(x))

【讨论】:

    【解决方案2】:

    我认为你有一些NaN 值,所以int 被转换为float,因为na type promotions

    因此您可以将label 列中的数据读取为str,然后它就可以正常工作了:

    import pandas as pd
    import numpy as np
    import io
    
    temp=u"""lab1;label
    5;1
    5;2
    7;
    7;3
    """
    #after testing replace io.StringIO(temp) to filename
    df = pd.read_csv(io.StringIO(temp), sep=';', dtype={'label':str})
    print (df)
      lab1 label
    0    5     1
    1    5     2
    2    7   NaN
    3    7     3
    
    df['class_label'] = df.label.fillna('')
    print (df)
      lab1 label class_label
    0    5     1           1
    1    5     2           2
    2    7   NaN            
    3    7     3           3
    
    print (df.to_string(columns=['class_label'],index=False))
    class_label
             1
             2
    
             3
    

    【讨论】:

      【解决方案3】:

      使用astype(int) 会将float 更改为int,并根据需要删除您的.0

      import pandas as pd
      df = pd.DataFrame({'label': [1.0, 2.0, 4.0, 1.0]})
      print(df)
      
          label
      0   1.0
      1   2.0
      2   4.0
      3   1.0
      
      df.label = df.label.astype(int)
      print(df)
      
          label
      0   1
      1   2
      2   4
      3   1
      

      这里我们不需要把它转换成字符串。这将在导出到 .csv.txt 时完成,并将保留 int

      【讨论】:

        猜你喜欢
        • 2020-06-20
        • 1970-01-01
        • 2011-06-06
        • 1970-01-01
        • 1970-01-01
        • 2017-05-26
        • 1970-01-01
        • 1970-01-01
        • 2014-12-22
        相关资源
        最近更新 更多