簡體   English   中英

根據數據框中的大小組計算百分比值 - 熊貓

[英]calculate percentage values depending on size group in dataframe - pandas

我有一個如下的數據框:

idx col1 col2 col3     
0   1.1    A  100    
1   1.1    A  100     
2   1.1    A  100  
3   2.6    B  100      
4   2.5    B  100        
5   3.4    B  100   
6   2.6    B  100    

我想根據col1col2的組大小更新col3的百分比值(兩列,即對於具有 1.1 的每一行,A - col3 值應為33.33

期望的輸出:

idx col1 col2 col3 
0 1.1 A 33.33
1 1.1 A 33.33 
2 1.1 A 33.33
3 2.6 B 50
4 2.5 B 100
5 3.4 B 100 
6 2.6 B 50 

我認為您需要具有transform size groupby

df['col3'] = 100 / df.groupby(['col1', 'col2'])['col3'].transform('size')
print df
     col1 col2        col3
idx                       
0     1.1    A   33.333333
1     1.1    A   33.333333
2     1.1    A   33.333333
3     2.6    B   50.000000
4     2.5    B  100.000000
5     3.4    B  100.000000
6     2.6    B   50.000000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM