第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有零值的 Pandas 匯總表

具有零值的 Pandas 匯總表

繁華開滿天機 2023-07-18 16:58:38
我正在嘗試使用 python 的 pandas 中的 .describe() 創(chuàng)建一個匯總表。我有以下數(shù)據(jù)框:df = pd.DataFrame({'Group':['Group1', 'Group1', 'Group1', 'Group2', 'Group2', 'Group2', 'Group3', 'Group3', 'Group4'],'Cat':['Cat1', 'Cat2', 'Cat3', 'Cat4', 'Cat5', 'Cat', 'Cat7', 'Cat8', 'Cat9'],'Value':[1230,4019,9491,9588,6402,1923,492,8589,8582]})df    Group   Cat Value0   Group1  Cat1    12301   Group1  Cat2    40192   Group1  Cat3    94913   Group2  Cat4    95884   Group2  Cat5    64025   Group2  Cat     19236   Group3  Cat7    4927   Group3  Cat8    85898   Group4  Cat9    8582我想生成一個按 Group 和 Cat 分組的匯總表,其中不在 Group 中的所有 Cats 以相同的方式顯示,所有值 = 0。我正在嘗試:        df.groupby(['Group', 'Cat']).describe()# That has the following output:            Value    count   mean    std min 25% 50% 75% max    Group   Cat                                 Group1  Cat1    1.0 1230.0  NaN 1230.0  1230.0  1230.0  1230.0  1230.0            Cat2    1.0 4019.0  NaN 4019.0  4019.0  4019.0  4019.0  4019.0            Cat3    1.0 9491.0  NaN 9491.0  9491.0  9491.0  9491.0  9491.0    Group2  Cat     1.0 1923.0  NaN 1923.0  1923.0  1923.0  1923.0  1923.0            Cat4    1.0 9588.0  NaN 9588.0  9588.0  9588.0  9588.0  9588.0            Cat5    1.0 6402.0  NaN 6402.0  6402.0  6402.0  6402.0  6402.0    Group3  Cat7    1.0 492.0   NaN 492.0   492.0   492.0   492.0   492.0            Cat8    1.0 8589.0  NaN 8589.0  8589.0  8589.0  8589.0  8589.0    Group4  Cat9    1.0 8582.0  NaN 8582.0  8582.0  8582.0  8582.0  8582.0我想知道如何獲得這個輸出。
查看完整描述

2 回答

?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

您還可以根據(jù)獲得的索引創(chuàng)建笛卡爾積索引列表reindex:


out = df.groupby(['Group', 'Cat']).describe()

idx = pd.MultiIndex.from_product((out.index.levels[0],out.index.levels[1]))

out = out.reindex(idx,fill_value=0)

            Value                                                     

            count    mean  std     min     25%     50%     75%     max

Group1 Cat    0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat1   1.0  1230.0  NaN  1230.0  1230.0  1230.0  1230.0  1230.0

       Cat2   1.0  4019.0  NaN  4019.0  4019.0  4019.0  4019.0  4019.0

       Cat3   1.0  9491.0  NaN  9491.0  9491.0  9491.0  9491.0  9491.0

       Cat4   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat5   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat7   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat8   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat9   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

Group2 Cat    1.0  1923.0  NaN  1923.0  1923.0  1923.0  1923.0  1923.0

       Cat1   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat2   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat3   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat4   1.0  9588.0  NaN  9588.0  9588.0  9588.0  9588.0  9588.0

       Cat5   1.0  6402.0  NaN  6402.0  6402.0  6402.0  6402.0  6402.0

       Cat7   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat8   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat9   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

Group3 Cat    0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       Cat1   0.0     0.0  0.0     0.0     0.0     0.0     0.0     0.0

       ....................................

       ...............................


查看完整回答
反對 回復 2023-07-18
?
慕斯709654

TA貢獻1840條經(jīng)驗 獲得超5個贊

檢查unstack + stack,注意我還建議保留行值NaN不填充 0

out = df.groupby(['Group', 'Cat']).describe().unstack().stack(dropna=False)


查看完整回答
反對 回復 2023-07-18
  • 2 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號