它分為A類和B類。df :Category A A A B B CODE U-01 U-02 U-03 U-04 U-05n1 0 1 0 2 nann2 1 1 0 nan nann3 3 0 nan 0 2我想根據標準值“0”、“>0”和 nan 計算值。我想要的輸出表如下所示:Category A BStandard 0 >0 nan 0 >0 nan n1 2 1 0 0 1 1 n2 1 2 0 0 0 2 n3 0 1 1 1 1 0example) "n1-> Standard : 0 " is A&U-01, A&U-03 So, 2請幫我,,
1 回答

桃花長相依
TA貢獻1860條經驗 獲得超8個贊
用于DataFrame.unstack
reshape?DataFrame
for?Series with Multiindex
,然后將值 gretaer 轉換0
為>0
,將缺失值替換為字符串并使用 reshape bynan
計算它們: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
添加回答
舉報
0/150
提交
取消