ベストアンサー1
groupby('userid')
次に、reset_index
各グループ内でグループ間で一貫して列挙します。次に、unstack
列を取得します。
df.groupby('userid')['name'].apply(lambda df: df.reset_index(drop=True)).unstack()
デモンストレーション
df = pd.DataFrame([
[123, 'abc'],
[123, 'abc'],
[456, 'def'],
[123, 'abc'],
[123, 'abc'],
[456, 'def'],
[456, 'def'],
[456, 'def'],
], columns=['userid', 'name'])
df.sort_values('userid').groupby('userid')['name'].apply(lambda df: df.reset_index(drop=True)).unstack()
userid
をインデックスとして使用したくない場合は、reset_index
末尾に追加します。
df.sort_values('userid').groupby('userid')['name'].apply(lambda df: df.reset_index(drop=True)).unstack().reset_index()