我试图找出给定专业的性别之间的工资差距
以下是我的表格的文本版本:
gender field group logwage
0 male BUSINESS 7.229572
10 female BUSINESS 7.072464
1 male COMM/JOURN 7.108538
11 female COMM/JOURN 7.015018
2 male COMPSCI/STAT 7.340410
12 female COMPSCI/STAT 7.169401
3 male EDUCATION 6.888829
13 female EDUCATION 6.770255
4 male ENGINEERING 7.397082
14 female ENGINEERING 7.323996
5 male HUMANITIES 7.053048
15 female HUMANITIES 6.920830
6 male MEDICINE 7.319011
16 female MEDICINE 7.193518
17 female NATSCI 6.993337
7 male NATSCI 7.089232
18 female OTHER 6.881126
8 male OTHER 7.091698
9 male SOCSCI/PSYCH 7.197572
19 female SOCSCI/PSYCH 6.968322
diff不适合我,因为它会在每个连续的专业之间产生差异
下面是目前的代码:
for row in sorted_mfield:
if sorted_mfield['field group']==sorted_mfield['field group'].shift(1):
diff= lambda x: x[0]-x[1]
我的下一个策略是回到未排序的数据框架,其中男性和女性是他们自己的专栏,并从中有所不同,但由于我已经花了一个小时尝试这样做,而且我对熊猫非常陌生,我想我会询问并了解这是如何工作的。谢谢
我会考虑用^ {CD1>}重塑您的数据文件,使计算变得更容易。
代码:
在数据的排序版本中使用Pandas.DataFrame.shift()的解决方案:
使用示例数据生成以下输出:
注意:它认为每个字段组始终有一对值。如果要验证它或消除没有此对的字段组,请使用下面的代码进行筛选:
相关问题 更多 >
编程相关推荐