2015-06-21 121 views
2

我想計算數據框中兩個類別之間的差異。例如,在下面的例子中,我想計算每個工作中男性和女性之間的差異。但是,有些工作是由男性或女性完成的。什麼是有效的方法來做到這一點?謝謝。計算大熊貓數據幀中的行之間的差異

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 

回答

2

您可以做一個數據透視表,使同一行的男性和女性的薪水在同一行。然後,您可以直觀地比較,或運行其他基於行的代碼。

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 

還看到:Pandas Reshaping and Pivot Tables