我在 pandas 数据框中有一列,我想将所有低于 15,000 的数字取整为 15,000 或 0。
我想对 200,000 以上的数字执行相同的操作,并将它们四舍五入为 200,000。
对于四舍五入,.round() 将它取到一些有效数字 和 math.ceil()/.floor() 将数字取到最接近的整数,但这些都不能单独解决我的问题。
我假设有一些聪明的数学技巧或我没有看到的函数。
例子:
Column_to_Round Rounded_Column
11000 15000
9000 15000
3000 0
5000 0
16000 16000
220000 200000
199000 199000
请您参考如下方法:
写一个函数并使用apply函数:
def rounding(number):
if number < 15000:
if number < 7500:
return 0
else return 15000
elif number > 200000:
return 200000
else return number
dataset['Rounded_Column'] = dataset['Column_to_Round'].apply(rounding)
