【3.5.2】Pandas--保留指定的小数点round

参数:

DataFrame.round(decimals=0, *args, **kwargs)[source]¶

将每列舍入到的小数位数。 如果给出了int,则将每列舍入到相同数量的位置。 否则dict和Series循环到可变数量的地方。 如果小数是类似dict,则列名应该在键中;如果小数是系列,则列名应该在索引中。 任何未包含在小数中的列都将保留原样。 将忽略不是输入列的小数元素。

例子:

>>> df = pd.DataFrame(np.random.random([3, 3]),
...     columns=['A', 'B', 'C'], index=['first', 'second', 'third'])
>>> df
               A         B         C
first   0.028208  0.992815  0.173891
second  0.038683  0.645646  0.577595
third   0.877076  0.149370  0.491027

#所有的列保留2位小数点
>>> df.round(2)
           A     B     C
first   0.03  0.99  0.17
second  0.04  0.65  0.58
third   0.88  0.15  0.49

#指定的列,保留指定的小数点(通过hash传递)
>>> df.round({'A': 1, 'C': 2})
          A         B     C
first   0.0  0.992815  0.17
second  0.0  0.645646  0.58
third   0.9  0.149370  0.49

# 指定的列,保留指定的小数点(通过series传递)
>>> decimals = pd.Series([1, 0, 2], index=['A', 'B', 'C'])
>>> df.round(decimals)
          A  B     C
first   0.0  1  0.17
second  0.0  1  0.58
third   0.9  0  0.49

参考资料

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn