Как получить аргумент для & ldquo; start & rdquo; с городом А и получить остальные города, которые связаны переходной собственностью

Вы можете группировать столбцы 'name' и 'month', а затем вызывать transform, которые возвращают данные, выровненные по исходному df, и применяют лямбда, где мы join текстовые записи:

In [119]:

df['text'] = df[['name','text','month']].groupby(['name','month'])['text'].transform(lambda x: ','.join(x))
df[['name','text','month']].drop_duplicates()
Out[119]:
    name         text  month
0  name1       hej,du     11
2  name1        aj,oj     12
4  name2     fin,katt     11
6  name2  mycket,lite     12

Я подставляю оригинальный df, передавая здесь список интересующих столбцов df[['name','text','month']], а затем вызываю drop_duplicates

EDIT, на самом деле я могу просто вызвать apply, а затем reset_index:

In [124]:

df.groupby(['name','month'])['text'].apply(lambda x: ','.join(x)).reset_index()

Out[124]:
    name  month         text
0  name1     11       hej,du
1  name1     12        aj,oj
2  name2     11     fin,katt
3  name2     12  mycket,lite

update

здесь не требуется lambda:

In[38]:
df.groupby(['name','month'])['text'].apply(','.join).reset_index()

Out[38]: 
    name  month         text
0  name1     11           du
1  name1     12        aj,oj
2  name2     11     fin,katt
3  name2     12  mycket,lite
0
задан Sandberg 17 January 2019 в 13:17
поделиться