Как объединить один столбец с тем же идентификатором с остальными столбцами в Панд?

#python #pandas #list #dataframe #concatenation

Вопрос:

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

Например, если я получу эти данные:

id_text id_слово слово
1 456 привет
1 345 Мир
2 23 собака
2 56 кошка

Я достану:

id_text id_слово слово
1 456,345 привет/мир
2 23,56 собака/кошка

Вот мой код:

 def columns(text_id,word_id,word):
    with open('.....csv','a', newline='n') as csvFile:
        writer = csv.writer(csvFile)
        l=[]
        for i in range(len(text_id)):
            if i==i-1:
             l.append(text_id,word_id)
             print(l)
             l.append(word "|")
             print(l, end=" ")
             i =1
        writer.writerow(l)
        print(' ')

#print(df)
for j in range(len(df)):
    #print('==========================================================================')
    text_id=df["id"][j]
    word_id=df["word_id"][j]
    word=df["word"][j]
        columns(text_id,word_id,word)
 

Заранее благодарю вас!

Комментарии:

1. Примечание: общий глагол, используемый для описания этого процесса, — «объединить» или «сгруппировать».

2. Воспользуйся df.groupby("id_text", as_index=False).agg({"id_word": lambda d: ",".join(d.astype(str)), "word": "/".join}) .