Мне нужно ежемесячно нормализовать значения одного столбца данных Allocation
.
data=
Allocation Temperature Precipitation Radiation
Date_From
2018-11-01 00:00:00 0.001905 9.55 0.0 0.0
2018-11-01 00:15:00 0.001794 9.55 0.0 0.0
2018-11-01 00:30:00 0.001700 9.55 0.0 0.0
2018-11-01 00:45:00 0.001607 9.55 0.0 0.0
Это означает, что если у нас есть 2018-11, разделите Allocation
на 11,116, в то время как в 2018-12, разделите Allocation
на 2473,65 и так далее ... (Эти значения получены изсписок Volume
, где Volume[0]
соответствует 2018-11 до Volume[7]
соответствует 2019-06).
Date_From
- это индекс и отметка времени.
data_normalized=
Allocation Temperature Precipitation Radiation
Date_From
2018-11-01 00:00:00 0.000171 9.55 0.0 0.0
2018-11-01 00:15:00 0.000097 9.55 0.0 0.0
...
Мой подход заключался в использовании itertuples:
for row in data.itertuples(index=True,name='index'):
if row.index =='2018-11':
data['Allocation']/Volume[0]
Здесь оператор if никогда не бывает верным ...
Другой подход был if ((row.index >='2018-11-01 00:00:00') & (row.index<='2018-11-31 23:45:00')):
Однако здесь я получаю ошибку TypeError: '>=' not supported between instances of 'builtin_function_or_method' and 'str'
Могу ли я решить мою проблему с помощью этого подхода или я должен использовать другой подход?Я рад любой помощи
Ура!