首页 > 解决方案 > 计算数据帧的每个单元格

问题描述

我有两个数据框。

数据1 =

Variables   A_0      B_0
Bins                                    
1           200      100
2           100      150
3           100      300
4           100      200
5           150      100 

数据2 =

Variables   A_1      B_1
Bins                                    
1           50       100
2           100      150
3           50       50
4           100      200
5           100      100 

现在我想创建一个数据框,它给出 中单元格值的百分比data2,例如 for A_1, Bins = 1 有 50 个值,对于A_0, Bins=1 有 200 个值,所以百分比变为(50/(200+50)) = 0.2

所以我想要的最终数据框如下所示。

data2_perc =

Variables   A_1_perc      B_1_perc
Bins                                    
1           0.2           0.5
2           0.5           0.5
3           0.33          0.1428
4           0.5           0.5
5           0.4           0.5

这个怎么做?

标签: pythonpandasdataframe

解决方案


data2_perc = pd.DataFrame()
data2_perc['A_1_perc'] = data2['A_1']/(data2['A_1']+data1['A_0'])
data2_perc['B_1_perc'] = data2['B_1']/(data2['B_1']+data1['B_0'])

结果:

    A_1_perc    B_1_perc
1   0.200000    0.500000
2   0.500000    0.500000
3   0.333333    0.142857
4   0.500000    0.500000
5   0.400000    0.500000

推荐阅读