【问题标题】:How to format special decimals in pandas DataFrame如何在 pandas DataFrame 中格式化特殊小数
【发布时间】:2020-03-06 13:45:20
【问题描述】:

在 pandas DataFrame 列中,我有这样的数字

2840.189941

四舍五入到小数点后两位:

sp.loc['2019-05-13', 'Open'].round(2) 

​我不想获得2840.19,而是将数字格式化为 .25 增量,以便获得这种格式:

2840.25
2840.50
2840.75
...

任何想法如何做到这一点?

【问题讨论】:

    标签: python pandas dataframe decimal


    【解决方案1】:

    我认为你需要乘以4,使用Series.round 并除以4

    df = pd.DataFrame({'Open': range(284018, 284100, 5)}) / 100
    
    df['new'] = df['Open'].mul(4).round().div(4)
    print (df)
           Open      new
    0   2840.18  2840.25
    1   2840.23  2840.25
    2   2840.28  2840.25
    3   2840.33  2840.25
    4   2840.38  2840.50
    5   2840.43  2840.50
    6   2840.48  2840.50
    7   2840.53  2840.50
    8   2840.58  2840.50
    9   2840.63  2840.75
    10  2840.68  2840.75
    11  2840.73  2840.75
    12  2840.78  2840.75
    13  2840.83  2840.75
    14  2840.88  2841.00
    15  2840.93  2841.00
    16  2840.98  2841.00
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-10
      • 2020-05-21
      • 1970-01-01
      • 2021-10-23
      • 2022-01-14
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多