Подтвердить что ты не робот

Создание фрейма данных pandas из нескольких файлов

Я пытаюсь создать pandas DataFrame, и он отлично работает для одного файла. Если мне нужно построить его для нескольких файлов, которые имеют одинаковую структуру данных. Поэтому вместо одного имени файла у меня есть список имен файлов, из которых я хотел бы создать DataFrame.

Не знаете, как добавить к текущему DataFrame в pandas или есть способ для pandas сосать список файлов в DataFrame.

4b9b3361

Ответ 1

Команда pandas concat - ваш друг здесь. Допустим, у вас есть все ваши файлы в каталоге, targetdir. Вы можете:

  • составить список файлов
  • загружать их как pandas dataframes
  • и объединить их вместе

`

import os
import pandas as pd

#list the files
filelist = os.listdir(targetdir) 
#read them into pandas
df_list = [pd.read_table(file) for file in filelist]
#concatenate them together
big_df = pd.concat(df_list)

Ответ 2

Потенциально ужасно неэффективен, но...

Почему бы не использовать read_csv, чтобы построить два (или более) DataFrames, а затем использовать объединение, чтобы собрать их вместе?

Тем не менее, было бы легче ответить на ваш вопрос, если вы предоставите некоторые данные или какой-то код, который вы использовали до сих пор.

Ответ 3

Я могу попытаться объединить файлы, прежде чем загружать их в pandas. Если вы работаете в Linux или Mac, вы можете использовать cat, иначе очень простая функция Python могла бы выполнить эту работу для вас.

Ответ 4

Являются ли эти файлы в формате csv. Вы можете использовать read_csv. http://pandas.sourceforge.net/io.html

Как только вы прочтете файлы и сохраните их в двух фреймах данных, вы можете объединить два фрейма данных или добавить дополнительные столбцы в один из двух фреймов данных (при условии общего индекса). Pandas должен иметь возможность заполнять отсутствующие строки.