У меня есть фрейм данных, в котором есть четыре столбца: диапазон, погода, флаг и расчет. Мне нужно взять комбинации из трех списков для трех столбцов (диапазон, погода и флаг) и проверить, не существует ли комбинация для эти три столбца затем добавляют новую строку в фрейм данных.
range weather flag calculation
0-5 good y 12
5-6 good n 14
0-5 bad n 2
5-6 worse y 5
Вывод выглядит следующим образом:
range weather flag calculation
0-5 good y 12
0-5 bad n 2
0-5 good n null
0-5 worse n null
0-5 bad y null
0-5 worse y null
5-6 good n 14
5-6 worse y 5
5-6 bad n null
5-6 worse n null
5-6 bad y null
5-6 good y null
Код, который я пробовал, выглядит следующим образом:
r=['0-5','5-6']
w=['good','bad','worse']
f=['n','y']
for i in r:
for j in w:
for k in f:
if i in data1['range'].values and j in data1['weather'].values and k in data1['flag'].values:
print(i,j,k)
print("yes")
else:
print(i,j,k)
print("no")
data1=data1.append([{'bl_flag':j},{'weather_status':k}], ignore_index=True)
print(data1)
Приведенный выше код не проверяет все 3 комбинации присутствуют в одной строке, если они отсутствуют в одной строке, то они должны быть добавлены в фрейм данных.