鑑於以下數據框:熊貓GROUPBY體重
import pandas as pd
d=pd.DataFrame({'Age':[18,20,20,56,56],'Race':['A','A','A','B','B'],'Response':[3,2,5,6,2],'Weight':[0.5,0.5,0.5,1.2,1.2]})
d
Age Race Response Weight
0 18 A 3 0.5
1 20 A 2 0.5
2 20 A 5 0.5
3 56 B 6 1.2
4 56 B 2 1.2
我知道我可以通過組應用度日年齡和種族這樣的計數:
d.groupby(['Age','Race'])['Response'].count()
Age Race
18 A 1
20 A 2
56 B 2
Name: Response, dtype: int64
但我d喜歡使用「權重」列對案例進行加權,使前3行將計爲0.5而不是1,最後兩行將計爲1.2。所以,如果按年齡和種族劃分,我應該有以下幾點:
Age Race
18 A 0.5
20 A 1
56 B 2.4
Name: Response, dtype: int64
這與使用SPSS中的「Weight Cases」選項類似。 我知道這是可能的R和我見過的Python有前途的庫(雖然當前編譯失敗)位置:
https://github.com/InContextSolutions/PandaSurvey
和PySal(如果不知道它的適用在這裏)
......但我想知道是否可以在小組中以某種方式完成。
提前致謝!
由於這樣做,@米奇!那是在我的鼻子下面。 –
@DanceParty歡迎您! – miradulo