簡體   English   中英

熊貓用另一個數據框范圍內的值計數填充數據框

[英]Pandas fill dataframe with count of values within a range from another dataframe

我目前有兩個數據框,df_ages 和 df_count:

In  [1]: df_ages
Out [1]: 
        Enrolled         Age
    1          Y          44    
    2          Y          35    
    3          N          37        
    4          Y          55    
    5          N          26    
    6          Y          19    
    7          N          18    
    8          N          49        
    9          Y          26    
    10         Y          25
    11         Y          25    
    12         Y          32    
    13         Y          25        
    14         N          50    
    15         N          58        

In  [2]: df_count
Out [2]: 
             Min         Max    counts     percentage
    1         18          25        
    2         26          35        
    3         36          45        
    4         46          55        
    5         56          65        

我正在尋找代碼來填充 df_count [count] 列,其中包含適合前列中最小和最大年齡范圍的人的總和。

[percentage] 列應該是條目數的百分比。

所需的結果輸出如下所示:

In  [2]: df_count
Out [2]: 
             Min         Max    counts    percentage
    1         18          25         5          33.3
    2         26          35         4          26.7
    3         36          45         2          13.3
    4         46          55         3          20.0
    5         56          65         1           6.7

您可以嘗試使用Series.between apply

df_count['counts'] = df_count.apply(lambda row: df_ages['Age'].between(row['Min'], row['Max']).sum(), axis=1)
df_count['percentage'] = df_count['counts'].div(len(df_ages)).mul(100).round(1)
print(df_count)

   Min  Max  counts  percentage
0   18   25       5        33.3
1   26   35       4        26.7
2   36   45       2        13.3
3   46   55       3        20.0
4   56   65       1         6.7

暫無
暫無

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

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