经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
pandas round方法保留两位小数的设置实现
来源:jb51  时间:2022/8/16 15:27:13  对本文有异议

pandas中可以使用round(n)方法返回 x 的小数点四舍五入到n个数字。简洁的说就是,四舍五入的保留小数点后的几个数字。round()不添加任何参数的时候,等同于round(0)就是取整。直接看例子:

  1. import pandas as pd
  2. import numpy as np
  3. df_round = pd.DataFrame(np.random.random([3, 3]),
  4. columns=['A', 'B', 'C'], index=['one', 'two', 'three'])
  5. df_round = df_round*10
  6. print(df_round)
  7. print(df_round.round(2))

我们经常需要对有浮点数的列需要保持精度,那么在pandas中该如何实现呢?这里提供一种方法,round方法

round常用用法有两种方式:

1、传入int,对所有列保持统一精度

  1. >>> import numpy as np
  2. >>> import pandas as pd
  3. >>> df = pd.DataFrame([(.21, .32), (.01, .6), (.66, .03), (.21, .183)],columns=['dogs', 'cats'])
  4. >>> df
  5. ? ?dogs ? cats
  6. 0 ?0.21 ?0.320
  7. 1 ?0.01 ?0.600
  8. 2 ?0.66 ?0.030
  9. 3 ?0.21 ?0.183
  10.  
  11. # 统一保持2位小数
  12. >>> df.round(2)
  13. ? ?dogs ?cats
  14. 0 ?0.21 ?0.32
  15. 1 ?0.01 ?0.60
  16. 2 ?0.66 ?0.03
  17. 3 ?0.21 ?0.18
  18.  
  19. # 统一保持一位小数
  20. >>> df.round(1)
  21. ? ?dogs ?cats
  22. 0 ? 0.2 ? 0.3
  23. 1 ? 0.0 ? 0.6
  24. 2 ? 0.7 ? 0.0
  25. 3 ? 0.2 ? 0.2
  26. >>>?

2、传入dict,对指定列设置精度,key为列名,value为精度

  1. # 指定列名设置精度,未指定的则保持原样
  2. >>> df.round({'dogs': 2})
  3. dogs cats
  4. 0 0.21 0.320
  5. 1 0.01 0.600
  6. 2 0.66 0.030
  7. 3 0.21 0.183
  8. # 两列分别设置不同的精度
  9. >>> df.round({'dogs':2, 'cats':1})
  10. dogs cats
  11. 0 0.21 0.3
  12. 1 0.01 0.6
  13. 2 0.66 0.0
  14. 3 0.21 0.2

到此这篇关于pandas round方法保留两位小数的设置实现的文章就介绍到这了,更多相关pandas round方法保留两位小数内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号