Я хочу перебрать список с именами переменных, чтобы использовать эти переменные в качестве входных данных для функции.Я думаю, это более понятно, когда я предоставляю код.
data_low_wind= data.loc[data['Windspeed']<=10]
...#(high_wind and W,S,E have similar characteristic and not important for the problem)
data_N = data.loc[(data['WindDirection'] > 315) & (data['WindDirection'] <= 45)]
...
weather_condition = ['low_wind','high_wind','N','W','S','E']
for i in weather_condition:
if len(data_i) != 0:
Errormeasure_i=table_Errormeasure(data_i,park_size)
Этот код еще не работает, поскольку значения weather_condition
читаются как строки и, таким образом, не распознаются как дополнение к команде data_
.Моя цель состоит в том, чтобы цикл for выдает следующее:
if len(data_low_wind)!=0:
Errormeasure_low_wind=table_Errormeasure(data_low_wind,park_size)
#(and for the other elements of the list accordingly)
Является ли это в целом хорошим (приемлемым) подходом?Я читал, что вообще нежелательно менять имена переменных через цикл for.Другой подход, который я использовал, использовал map(lambda...)
, однако это также не дало желаемого результата.
weather_condition = ['low_wind','high_wind','N','W','S','E']
data= map(lambda x: 'data_'+x,weather_condition)
print(data)
[output] <map object at 0x00000180929D2860>
Я ценю любую помощь и разъяснение моей проблемы.(Надеюсь, этот вопрос не слишком дублирует. Другие вопросы не решили мою проблему)