1 回答

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
用于DataFrame.unstack
reshape?DataFrame
for?Series with Multiindex
,然后將值 gretaer 轉(zhuǎn)換0
為>0
,將缺失值替換為字符串并使用 reshape bynan
計(jì)算它們:SeriesGroupBy.value_counts
Series.unstack
df1 = (df.unstack()
? ? ? ? ?.mask(lambda x: x.gt(0), '>0')
? ? ? ? ?.fillna('nan')
? ? ? ? ?.groupby(level=[0, 2])
? ? ? ? ?.value_counts()
? ? ? ? ?.unstack([0,2], fill_value=0)
? ? ? ? ?.rename(columns={0:'0'}))
print (df1)
Category? A? ? ? ? ?B? ? ? ?
? ? ? ? ? 0 >0 nan >0 nan? 0
n1? ? ? ? 2? 1? ?0? 1? ?1? 0
n2? ? ? ? 1? 2? ?0? 0? ?2? 0
n3? ? ? ? 1? 1? ?1? 1? ?0? 1
添加回答
舉報(bào)