【问题标题】:Pandas data frame has numbers & string. Need to round off to 2 decimal places熊猫数据框有数字和字符串。需要四舍五入到小数点后两位
【发布时间】:2021-09-30 06:01:50
【问题描述】:

以下数据框需要四舍五入到小数点后两位。

代码如下:

 import pandas as pd
 import numpy as np
 import pandas.io.formats.excel

 df1= pd.read_excel(C:\Users\Excel\Data.xlsx)

 df1.round(2)

 display(df1)
A B C
Company 1 10.256 USD
Company 2 11.25 USD
Company 3 12.34456 USD
Company 4 23.432 USD

我已经尝试了这 4 种方法,但没有运气。它按原样显示数据框,不四舍五入到小数点后 2 位:

  1. df.round(2)
  2. df1[['B']] = df1[['B']].round(decimals = 2)
  3. np.round(df1, decimals=2)
  4. df.round({ "B":2})

期望的输出: |一个 |乙| C | | ---- |---- | --- | |公司1 | 10.25 |美元 |公司2 | 11.25 |美元 |公司3 | 12.34 |美元 |公司4 | 23.43 |美元

PS:Excel中B列的源数据文件是通用的。

【问题讨论】:

    标签: python pandas rounding


    【解决方案1】:

    你需要重新分配:

    df1 = df1.round(2)
    print (df1)
               A      B    C
    0  Company 1  10.26  USD
    1  Company 2  11.25  USD
    2  Company 3  12.34  USD
    3  Company 4  23.43  USD
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      相关资源
      最近更新 更多