Создайте фрейм данных pandas с нулевыми столбцами

#python-3.x #pandas

#python-3.x #pandas

Вопрос:

Мне трудно разобраться в этом. Я работаю над программой для отслеживания некоторых данных, связанных с кучей файлов. Я использую pandas для управления данными и их загрузки / сохранения. При первом запуске программа идентифицирует файлы с расширением и создает фрейм данных pandas с некоторым количеством столбцов для данных, связанных с каждым файлом. Количество столбцов и строк неизвестно до выполнения. Я хочу добавить все пути к файлам в столбец, но оставить все остальные столбцы пустыми для фрейма данных, есть хороший способ сделать это? Итак, если входные данные являются [val1, val2, val3,...] , то я хочу, чтобы фрейм данных был

 [col1, col2, col,...,coln]
[val1, NaN, NaN,...,  NaN]
[val2, NaN, NaN,...,  NaN]
[val3, NaN, NaN,...,  NaN]
  

Спасибо за любую помощь!

Ответ №1:

Если вы создаете свой фрейм данных из dict , все дополнительные столбцы, указанные в columns ключевом слове, будут инициализированы как null:

 In [3]: pd.DataFrame({'col1':['val1','val2','val3']}, 
                     columns=['col1','col2','col3'])
Out[3]:
   col1 col2 col3
0  val1  NaN  NaN
1  val2  NaN  NaN
2  val3  NaN  NaN
  

В качестве альтернативы, если ваш первый столбец является индексом, вы можете использовать этот синтаксис:

 In [4]: pd.DataFrame([], ['val1','val2','val3'], ['col1','col2','col3'])
Out[4]:
     col1 col2 col3
val1  NaN  NaN  NaN
val2  NaN  NaN  NaN
val3  NaN  NaN  NaN
  

Комментарии:

1. Потрясающе! Спасибо за быстрый ответ!