Есть ли способ сравнить значения одного столбца, а затем обновить список на основе выполнения условия? - PullRequest
0 голосов
/ 02 июля 2019

У меня есть фрейм данных с датами, оплатой и продолжительностью.Продолжительность - это разница между двумя столбцами даты и времени, а оплата - это то, что я заплатил поставщику за предоставление услуги.Я пытаюсь перебрать каждое значение в столбце «длительность», и если это значение> = 100, добавьте в список newPrice значение, соответствующее значению в payColumn * .99

У меня естьпопытался создать вложенные циклы if / for, лямбда-операторы и создать собственную функцию.В своей работе я перехожу с 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 будет заполнен исходной платой, умноженной на модификатор.

1 Ответ

0 голосов
/ 02 июля 2019
duration = [122.0, 48.0, 102.0]
pay = [50.00, 26.49, 36.80]
new_pay = []

for i, value in enumerate(duration):
    if value >= 100:
        new_pay.append(pay[i]*.99)
    elif value >= 50 and value <= 99.99:
        new_pay.append(pay[i]*.98)
    else:
        new_pay.append(pay[i]*.97)
print(new_pay)
...