我试图对满足条件的数字进行取整,并对满足不同条件的数字进行取整。我编写了下面的函数来实现这一点,但它似乎有问题
Range New Range I/D Expected output
1 1.1 Increase 2
1 1.4 Increase 2
1 .7 Decrease 0
1 .9 Decrease 0
3 2.2 No Change 2
5 4.8 No Change 5
基本上,如果有要增加的标志,则应用函数进行取整;“减少”标志意味着应用函数进行向下取整;没有哪面旗帜会是一个基本的结束语
def inc(row):
if row['increae']=='increase':
val= row['Final New Range'].apply(np.ceil)
elif row['increae']=='increase':
val= row['Final New Range'].apply(np.ceil)
else:
val='None'
return val
回溯
<ipython-input-35-8f7b70f1c7f8> in inc(row)
17 def inc(row):
18 if row['increae']=='increase':
---> 19 val= row['Final New Range'].apply(np.ceil)
20 elif row['increae']=='increase':
21 val= row['Final New Range'].apply(np.ceil)
AttributeError: 'float' object has no attribute 'apply'
您想要的函数如下所示:
运行这段代码以测试它:
inc(row)
获取每行的结果运行以下命令的输出:
如果您更改原始数据帧中任何内容的列名,这应该对您有用
相关问题 更多 >
编程相关推荐