pandas - 如何将整列四舍五入到下一个 10?
问题描述
我真的很难将我的数据组织到 Jupyter Notebook 中的“箱”中。我需要将 Length 列向上舍入到下一个 10,但我似乎只能将其四舍五入到最接近的整数。我真的很感激一些指导。提前致谢。:)
IN[58] df2['Length']
OUT[58] 0 541.56
1 541.73
2 482.22
3 345.45
...
需要看起来像这样:
IN[58] df2['Length']
OUT[58] 0 550
1 550
2 490
3 350
...
解决方案
样本
print (df2)
Length
0 541.56
1 541.73
2 482.22
3 500.00 <- whole number for better sample
您可以使用整数除法,乘以10
并转换为整数,如果模不是,则加 10 0
:
s = (df2['Length'] // 10 * 10).astype(int) + (df2['Length'] % 10 > 0).astype(int) * 10
print (s)
0 550
1 550
2 490
3 500
Name: Length, dtype: int32
另一个使用事实//
四舍五入:
s = -(-df2['Length'] // 10 * 10).astype(int)
print (s)
0 550
1 550
2 490
3 500
Name: Length, dtype: int32
或者可以使用除法np.ceil
:
s = (np.ceil(df2['Length'] / 10) * 10).astype(int)
print (s)
0 550
1 550
2 490
3 500
Name: Length, dtype: int32
推荐阅读
- r - 如何使用ggmap(R)绘制不同的颜色(基于条件)?
- python - 如何使用 sys.args[] 或 getopts 通过 Python 运行对齐命令
- python - 在 pandas python 中处理时间对象
- c# - 如何使用 unityads 创建多个奖励视频按钮
- reactjs - 保护 API 不受其他 Web 应用程序的影响
- javascript - React Router 路径变量也与其他路径,React 无法区分
- acumatica - 尝试将 usr 字段从 PMTask 汇总到 PMProject 时,SumCalc 属性不起作用
- javascript - 对价格和商品名称进行分组的正则表达式
- c - 正确的clang-tidy UndefinedBinaryOperatorResult
- python - 在 Python 中暂停主线程