Эффективная группировка DataFrame для уплотнения строк на основе нескольких критериевPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Эффективная группировка DataFrame для уплотнения строк на основе нескольких критериев

Сообщение Anonymous »


Я хочу сгруппировать строки на основе столбцов «Хромосома», «Начало» и «Конец», а затем объединить соответствующие столбцы «Начало1», «Конец1», «main_category» в списки. Затем я хочу сделать то же самое, но с столбцами Chromosome, Start1, End1. По сути, не должно быть дубликатов в столбцах «Chromosome», «Start» и «End» ИЛИ столбцах «Chromosome», «Start1», «End1», «main_category». Вот пример ввода/вывода:
Вот часть моего набора данных:

Код: Выделить всё

Chromosome  Start   End     Start1  End1    main_category
chr1    2584125 2584533 2584094 2584437 Enhancer
chr1    2584125 2584533 2584200 2584401 Promoter
chr1    3069168 3069296 3066400 3074201 Promoter
chr1    3069168 3069296 3069019 3069238 Promoter
chr1    3069168 3069296 3069272 3069608 Enhancer
chr1    3186125 3186474 3186069 3186414 Enhancer
chr1    3244087 3244137 3244018 3244334 Enhancer
chr1    3244555 3244666 3244660 3244666 Promoter
chr1    3244755 3244966 3244660 3244666 Promoter

Код: Выделить всё

Chromosome  Start   End     Start1             End1             main_category
chr1    2584125 2584533 [2584094,2584200] [2584437,2584401] [Enhancer,Promoter]
chr1    3069168 3069296 [3066400,3069019,3069272][3074201,3069238,3069608][Promoter,Promoter,Enhancer]
chr1    3186125 3186474 3186069 3186414 Enhancer
chr1    3244087 3244137 3244018 3244334 Enhancer
chr1    [3244555,3244755] [3244666,3244966] 3244660 3244666 Promoter
Я попробовал этот код, но он не работает. Он заполняет набор данных NaN и значительно расширяет набор данных:

Код: Выделить всё

condensed_df = df.groupby(['Chromosome', 'Start', 'End']).agg(
{
'main_category': lambda x: ', '.join(map(str, x)),
'Start1': lambda x: ', '.join(map(str, x)),
'End1': lambda x: ', '.join(map(str, x))
}


Источник: https://stackoverflow.com/questions/781 ... e-criteria
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»