更新时间:2022-12-10 08:57:10
使用 pandas.get_dummies
和 sum
:
df = pd.get_dummies(a, prefix_sep='', prefix='').sum(axis=1, level=0)
print (df)
financial game food social sport
0 1 0 0 2 0
1 0 1 1 0 1
2 0 2 0 0 1
或者 stack
与 SeriesGroupBy.value_counts
和 Series.unstack
:
df = a.stack().groupby(level=0).value_counts().unstack(fill_value=0)
print (df)
financial food game social sport
0 1 0 0 2 0
1 0 1 1 0 1
2 0 0 2 0 1