import numpy as np
import pandas as pd
Это мои данные:
ts = pd.DataFrame([0,1,2,3,4,5,6,7,8,9,10,11,12])
ts.columns = ["TS"]
start_df = pd.Series([1,3,6])
end_df = pd.Series([2,7,10])
Я создал следующую функцию для очистки моего цикла и цикл for для итерации каждого элемента в ts и сохранения в соответствии с выводом check_if
.
def check_if(start, ts, end):
if start <= ts <= end:
return 1
else:
return 0
ts["Flagg"] = np.nan
for ix, hour in enumerate (ts["TS"]):
for jx, end in enumerate(end_df):
ts["Flagg"][ix] = check_if(start_df[jx], hour, end_df[jx])
Проблема в том, что мой полученный ts["Flagg"]
сохраняет только результат последней итерации, start_df == 6
и end_df == 10
. Моя логика в цикле полностью из?
Edit:
Ожидаемый результат
[0,1,1,1,1,2,2,1,1,1,0,0]
в столбце ts["Flagg"]
.