Объединение всех столбцов в нескольких файлах в один на основе общего поля - PullRequest
0 голосов
/ 27 июня 2019

У меня есть набор из 38 текстовых файлов, которые имеют одинаковый формат: первый столбец - идентификатор гена, а остальные столбцы - данные выражения. Я хочу объединить все эти файлы в один и сохранить все столбцы тогда и только тогда, когда первый столбец идентификаторов генов одинаков.

Я попытался выполнить слияние в Pandas, но при попытке получить ошибку памяти (он работает и с другими файлами данных):

df_list = []

all_files = glob.glob("*meanCenter_results.txt")

for file in all_files:
    df_list.append(pd.read_csv(file, header = 0, sep = "\t", index_col = 0))

big_df = reduce(lambda left, right: pd.merge(left, right, on = "ORF_Gene", how = "outer"), df_list)
big_df.to_csv("All_GEO_Expression_Data_MeanCentered_Combined.txt", header = True, index = True, sep = "\t")  

Я нашел этот код в Интернете, и он, кажется, делает то, что я хочу, но я действительно новичок в этом конкретном виде программирования. Для этого я переименовал один файл a.txt, а остальные b1.txt в b37.txt:

temp=$(cat a.txt);for i in b*; do temp=$(echo $temp | join -j1 - $i); done; echo $temp

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

Можете ли вы предложить способ получить один файл, содержащий все столбцы данных, причем первый столбец является общим идентификатором гена?

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