У меня есть Dataframe и я хотел бы создать новый столбец на основе условия в этом новом столбце, если выполняется определенное условие, тогда значение будет из другого в противном случае он должен быть равен нулю. The Orginal DataFrame:Создание нового столбца на основе условия со значениями из другого столбца в python
df2 = pd.read_csv('C:\Users\ABC.csv')
df2['Date'] = pd.to_datetime(df2['Date'])
df2['Hour'] = df2.Date.dt.hour
df2['Occupied'] = ''
Date Value Hour Occupied
2016-02-02 21:00:00 0.6 21
2016-02-02 22:00:00 0.4 22
2016-02-02 23:00:00 0.4 23
2016-02-03 00:00:00 0.3 0
2016-02-03 01:00:00 0.2 1
2016-02-03 02:00:00 0.2 2
2016-02-03 03:00:00 0.1 3
2016-02-03 04:00:00 0.2 4
2016-02-03 05:00:00 0.1 5
2016-02-03 06:00:00 0.4 6
Я хотел бы иметь те же значения, как df2.Value на оккупированной колонке, если df2.Hour больше или равно 9, в противном случае значения будут равны нулю в оккупированной колонке. Я пробовал следующий код, но он не работает, как я хотел бы (он печатает те же значения, что и df2.Value, не считая инструкции else);
for i in df2['Hour']:
if i >= 9:
df2['Occupied'] = df2.Value
else:
df2['Occupied'] = 0
Любая идея, что не так с этим?
Спасибо, это работает для меня. – Muhammad