我想计算数据框中两个类别之间的差异。例如,在下面的情况下,我想计算每项工作中男性和女性之间的差异。然而,有些工作只能由男性或女性完成。有什么有效的方法可以做到这一点?谢谢。
import pandas as pd
pd.DataFrame({'job': ['a', 'a', 'b', 'b', 'c'], 'gender':['M', 'F', 'M', 'F', 'M'], 'income':[300, 200, 450, 400, 350]})
Out[3]:
gender income job
0 M 300 a
1 F 200 a
2 M 450 b
3 F 400 b
4 M 350 c
最佳答案
您可以进行数据透视,使同一工作的男性和女性薪酬位于同一行。然后您可以直观地进行比较,或运行其他基于行的代码。
import pandas as pd
df = pd.DataFrame({'job': ['a', 'a', 'b', 'b', 'c'], 'gender':['M', 'F', 'M', 'F', 'M'], 'income':[300, 200, 450, 400, 350]})
compare_income_by_gender_df = df.pivot(index='job', columns='gender', values='income')
print compare_income_by_gender_df
结果
python pivot.py
gender F M
job
a 200 300
b 400 450
c NaN 350
关于python - 计算 pandas 数据框中行之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30960734/