回答:
[0, 1, 2]
が数値ラベルであり、インデックスではない場合、pandas.DataFrame.pivot_table
機能します。
[]: data = pd.DataFrame.from_records( [[0、 'A']、[0、 'B']、[1、 'B']、[1、 'C']、[1、 'D']、[2、 'B']、[ 2、 'D']]、 columns = ['number_label'、 'category']) data.pivot_table(index = ['number_label']、columns = ['category']、aggfunc = [len]、fill_value = 0)
アウト[]: レン カテゴリABCD number_label 0 1 1 0 0 1 0 1 1 1 2 0 1 0 1
このブログ投稿は役に立ちました:http : //pbpython.com/pandas-pivot-table-explained.html
[0, 1, 2]
がインデックスである場合、それcollections.Counter
は役に立ちます:
[]: data2 = pd.DataFrame.from_dict( {'カテゴリ':{0:['A'、 'B']、1:['B'、 'C'、 'D']、2:['B'、 'D']}}) data3 = data2 ['categories']。apply(collections.Counter) pd.DataFrame.from_records(data3).fillna(value = 0)
アウト[]: あいうえお 0 1 1 0 0 1 0 1 1 1 2 0 1 0 1