В основном мой код импортирует некоторую конфигурацию из файла конфигурации, где пользователь может включать / выключать часть кода. Файл конфигурации выглядит примерно так: это json файл:
условие 1: ['str1', 1] условие 2: ['str2', 1]
Строка - это имя он будет присвоен столбцу df, и целое число может быть 1 или 0 для включения или выключения части кода.
В начале кода, если целое число установлено в 1, используется строка создать столбец в фрейме данных.
for (k, v) in config_file.items():
if v[1] == 1:
df[v[0]] = np.nan
Так что теперь у меня будет столбец с именем 'str1', только если целое число для условия1 равно 1. В некоторой точке кода мне нужно сначала проверить что целое число для обоих условий установлено в 1, а затем мне нужно выбрать все строки, содержащие значение 1.
if condition1[1] == 1 or condition2[1] == 1:
if (len(df[df['str1'] == 1]) > 0 or len(df[df['str2'] == 1]) > 0):
Проблема теперь состоит в том, что если одно из двух условий установлено в 0, скажем, условие1, тогда столбец df ['str2'] не будет создан, и len (df [df ['str2'] == 1])> 0 выдаст ошибку.
Есть ли способ сказать python, что нужно оценить часть условия, только если существует столбец / переменная? Большое спасибо за вашу поддержку.