Pandas: работа с отсутствующим столбцом во входном фрейме данных - PullRequest
0 голосов
/ 27 марта 2020

У меня есть код python, который выполняет математические вычисления для нескольких столбцов кадра данных. Этот ввод поступает из различных источников, поэтому существует вероятность того, что иногда один столбец отсутствует в одном и том же.

Этот столбец отсутствует, поскольку он незначителен, но мне нужно иметь как минимум нулевой столбец, чтобы код мог работать без ошибок .

Я могу добавить пустой столбец, используя, если l oop, но есть около 120 столбцов, и я не хочу замедлять код. Есть ли другой способ, где код может проверить, присутствует ли каждый столбец в исходном кадре данных, а затем, если какой-либо столбец отсутствует, добавляет пустой столбец, а затем начинает выполнение фактического кода?

1 Ответ

0 голосов
/ 27 марта 2020

Если вы знаете, что имя столбца одинаково для каждого фрейма данных, вы могли бы сделать что-то подобное без необходимости указывать l oop над именами столбцов

if col_name not in df.columns:
    df[col_name] = '' # or whatever value you want to set it to

Если скорость имеет большое значение, Я не могу сказать, вы всегда можете преобразовать столбцы в set с set(df.columns) и сократить время поиска до O (1), потому что это будет поиск с хешированием. Подробнее об эффективности оператора in вы можете прочитать по этой ссылке Насколько эффективны операторы Python «in» или «not in»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...