Для цикла в столбце фрейма данныхPython

Программы на Python
Ответить
Anonymous
 Для цикла в столбце фрейма данных

Сообщение Anonymous »

Я хочу перебрать столбец фрейма данных ['Статус'] и на основе значения вычислить количество дней с даты в столбце ['Дата'] и записать в третий столбец ['Дни'].import pandas as pd
from datetime import date
data={'Status':['Sold', 'Active', 'Sold', 'Active'],
'Date': ['2024-10-02', '2024-05-06', '2024-11-01', '2024-07-12' ],
}

df=pd.DataFrame(data)

d=date.today()
d=pd.to_datetime(d)
df['Date']=pd.to_datetime(df['Date'])

for i in df['Status']:
if i=='Active':
values=df['Date']-d
else:
values=0

df['Days']=values
print(df)

Ожидаемый результат:
Status Date Days
0 Sold 2024-10-02 0 days
1 Active 2024-05-06 -204 days
2 Sold 2024-11-01 0 days
3 Active 2024-07-12 -137 days

Но расчет передается для всех четырех строк:
Status Date Days
0 Sold 2024-10-02 -55 days
1 Active 2024-05-06 -204 days
2 Sold 2024-11-01 -25 days
3 Active 2024-07-12 -137 days


Подробнее здесь: https://stackoverflow.com/questions/792 ... ame-column
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»