หาก[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']],
คอลัมน์ = ['number_label', 'หมวดหมู่'])
data.pivot_table (ดัชนี = ['number_label'], คอลัมน์ = ['หมวดหมู่'], aggfunc = [len], fill_value = 0)
ออก[]:
len
หมวดหมู่ ABCD
number_label
0 1 1 0 0
1 0 1 1 1
2 0 1 0 1 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 ['หมวดหมู่'] ใช้ (คอลเลกชันตัวนับ)
pd.DataFrame.from_records (data3) .fillna (value = 0)
ออก[]:
เอบีซีดี
0 1 1 0 0
1 0 1 1 1
2 0 1 0 1 1