Объединить список данных - PullRequest
0 голосов
/ 21 мая 2019

Я хочу создать один фрейм данных из нескольких текстовых файлов, но я получаю ключевую ошибку при объединении списка фреймов данных в один фрейм данных.

Я пытался сбросить индекс фреймов данных до объединения, но не сделал этогоПомогите.Я работаю на Jupyter Python 3. Каждый отдельный текстовый файл имеет одинаковые столбцы («Geneid», «Chr», «Start», «End», «Strand», «Length») + 1 столбец для образца ('образец 1 "и т. д.) и что я хотел бы иметь в конце, это один df, объединенный в общих столбцах ('Geneid', 'Chr', 'Start', 'End', 'Strand', 'Length') иперечисление столбцов sample1,2,3 и т. д. рядом друг с другом, возможно, со значением «0», если значение отсутствует

#list the files
filenames = os.listdir('path')
# Append every single file to a distinct dataframe
list_dataframes = []
for filename in filenames:
 list_dataframes.append(pd.read_table(os.path.join('path', filename)))
for dataframe in list_dataframes:
        dataframe.reset_index()
print(dataframe.columns.tolist())
#results of print: ['Geneid', 'Chr', 'Start', 'End', 'Strand', 'Length', 'sample1']
# importing functools for reduce() 
import functools
from functools import reduce
#Merge dataframes in one single df
df=reduce(lambda left, right: pd.merge(left, right, on = ['Geneid', 'Chr','Start','End','Strand','Length'], how='outer'), list_dataframes)

Ожидается: один единственный df, где «выборочные столбцы» объединяются на основе общих столбцов(«Geneid», «Chr», «Start», «End», «Strand», «Length»).

Ошибка: KeyError: «Geneid»

...