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

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

熊貓 - 按組應(yīng)用過濾器

熊貓 - 按組應(yīng)用過濾器

qq_遁去的一_1 2022-09-06 17:49:28
我正在嘗試在數(shù)據(jù)幀中按函數(shù)執(zhí)行組。我需要完成兩個聚合,以查找總數(shù)并根據(jù)一列的篩選找到計數(shù)product, count, typeprod_a,100,1prod_b,200,2prod_c,23,3prod_d,23,1我正在嘗試創(chuàng)建一個列透視表,其中包含已售出的產(chǎn)品計數(shù),并且具有按以下方式計算的產(chǎn)品計數(shù)column 1column 2type 1       sold, type_1prod_a,1,1prod_b,1,0prod_c,1,0prod_d,1,1我能夠獲得已售產(chǎn)品的數(shù)量,但我不知道如何應(yīng)用過濾器并獲取已售產(chǎn)品的計數(shù)prod_adf("product").agg({'count': [('sold', 'count')]})
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻(xiàn)1864條經(jīng)驗 獲得超6個贊

如果只需要按一個條件計數(shù),請使用 GroupBy.agg 和命名聚合:type==1


df2 = df.groupby("product").agg(sold = ('count','count'),

                                type_1= ('type', lambda x: (x == 1).sum()))

print (df2)


         sold  type_1

product              

prod_a      1       1

prod_b      1       0

prod_c      1       0

prod_d      1       1

為了提高性能,首先創(chuàng)建列,然后聚合:sum


df2 = (df.assign(type_1 = df['type'].eq(1).astype(int))

         .groupby("product").agg(sold = ('count','count'),

                                 type_1 = ('type_1','sum')))

對于所有組合,將交叉表與 DataFrame.join 結(jié)合使用:


df1 = pd.crosstab(df['product'], df['type']).add_prefix('type_')

df2 = df.groupby("product").agg(sold = ('count','count')).join(df1)

print (df2)

         sold  type_1  type_2  type_3

product                              

prod_a      1       1       0       0

prod_b      1       0       1       0

prod_c      1       0       0       1

prod_d      1       1       0       0


查看完整回答
反對 回復(fù) 2022-09-06
  • 1 回答
  • 0 關(guān)注
  • 92 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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