Рассмотрим ниже df.Обратите внимание, что у пользователя Пола есть два цвета по сравнению с его именем.
df = pd.DataFrame({'names' :['Stacey', 'John', 'Paul'],
'blue':['blue',np.nan, np.nan],
'yellow':[np.nan, 'yellow', np.nan],
'green': [np.nan, np.nan, 'green'],
'purple':[np.nan, np.nan, 'purple' ]
})
print(df)
names blue yellow green purple
0 Stacey blue NaN NaN NaN
1 John NaN yellow NaN NaN
2 Paul NaN NaN green purple
Если я хочу изменить этот df с широкого на длинный, с pd.melt
, я буду ожидать, что запись id 'Paul' будет дублирована,
df.melt(id_vars='names',
value_vars = ['blue','yellow','green','purple'],
value_name = 'color').dropna().drop('variable', axis=1))
names color
0 Stacey blue
4 John yellow
8 Paul green
11 Paul purple
Как можно было бы изолировать / обнаружить повторяющиеся записи в исходной df, чтобы результат был?:
names blue yellow green purple
2 Paul NaN NaN green purple
Заранее спасибо:
панд0.23.4
python 3.7.1