【发布时间】:2019-07-01 22:31:39
【问题描述】:
我有一个日期时间、工资和持续时间的数据框。 Duration 是两个日期时间列之间的差异,pay 是我支付给提供商以完成服务的费用。我正在尝试遍历“duration”列中的每个值,如果该值 >= 100,则将值添加到列表 newPrice 中,该值是 payColumn*.99 中的相应值
我尝试过构建嵌套的 if/for 循环、lambda 语句以及构建我自己的函数。我的工作正在从 R 过渡到 Python,目前在将这个过程转换为 Python 代码方面做得不好。
duration = [122.0, 48.0, 102.0]
Pay = [50.00, 26.49, 36.80]
newPay = []
for i in df['duration']:
if i >= 100:
newPay.append(df['Pay']*.99)
elif i >= 50 and i <= 99.99:
newPay.append(df['Pay']*.98)
else:
newPay.append(df['Pay']*.97)
print(newPay)
我希望 newPay 用原始工资乘以修饰符来填充
【问题讨论】:
标签: python dataframe for-loop if-statement conditional-statements