У меня есть датафрейм с двумя столбцами: user
и lang
.Каждый пользователь знает один или несколько языков:
lang user
0 Python Mike
1 Scala Mike
2 R John
3 Julia Michael
4 Java Michael
Мне нужно получить для каждой строки на user
все языки, которые он / она знает.Я могу сделать это:
df.groupby('user')['lang'].apply(lambda x:', '.join(x)).reset_index()
Но я получаю это:
user lang
0 John R
1 Michael Julia, Java
2 Mike Python, Scala
Вместо того, что я хочу:
lang user
0 Python,Scala Mike
1 Python,Scala Mike
2 R John
3 Julia,Java Michael
4 Julia,Java Michael
Код для воспроизведения:
import pandas as pd
df = pd.DataFrame({"lang":["Python","Scala","R","Julia","Java"],
"user":["Mike","Mike","John","Michael","Michael"]})
print(df)