Мое предлагаемое решение объединяет groupby
и agg
.Начнем с данных:
import pandas as pd
data = pd.DataFrame({
"t": ["t1", "t1", "t1", "t2", "t2", "t2"],
"len": [150, 150, 150, 200, 200, 200],
"id": ["A", "B", "C", "E", "F", "G"],
"accession": ["X1", "X2", "X3", "X4", "X5", "X6"]})
Решение
data.groupby(["t", "len"]).agg({"id": lambda x: ",".join(x),
"accession": lambda x: ",".join(x)}).reset_index()
Выход
t len id accession
0 t1 150 A,B,C X1,X2,X3
1 t2 200 E,F,G X4,X5,X6