#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})
.