2016-12-28 7 views
-4

pythonには新しく、私が行っているように学んでいます。私は主にパンダのデータフレームから作業します。パンダでパーセンタイルを計算する

私は消費者調査をしており、所得パーセンタイルに基づいてグループに分けたいと思います。だから、第10、第10、第20などのような底。そして、私は、各エージェントが存在する%ileを記述する別々の列を作成したいと思っています。

助けてください。

答えて

0
df = pd.DataFrame(dict(
     Agent=pd.DataFrame(np.random.choice(list(ascii_letters), (100, 5))).sum(1), 
     Salary=np.random.randint(50000, 150000, (100)) 
    )) 

df['Salary Decile'] = pd.qcut(df.Salary, 10, labels=list(map('D{}'.format, range(10)))) 

df 

    Agent Salary Salary Decile 
0 TLuIY 110708   D5 
1 ZaxpV 111411   D5 
2 TGaTY 116893   D6 
3 SitLP 133517   D8 
4 hsFWf 54198   D0 
5 LLiUV 146248   D9 
6 npFCo 113458   D6 
7 JfeMa 56040   D0 
8 jqkOA 91098   D3 
9 BEZKe 144488   D9 
10 QyoUG 72309   D2 
11 azYaB 83156   D2 
12 qpXxz 57682   D0 
13 cEvNV 64950   D1 
14 QRalI 122120   D7 
15 SifWk 103399   D5 
16 qBMOy 130008   D8 
17 agTRX 54760   D0 
18 ZCFyB 97051   D4 
19 bBhzc 69204   D1 
20 bhgXT 96809   D4 
21 pFWNQ 126710   D7 
22 EXLyx 122152   D7 
23 HaSdg 137614   D9 
24 uGtKH 59155   D1 
25 Dkbqq 84346   D2 
26 nsxMp 101822   D5 
27 lppEj 114105   D6 
28 nQQez 78923   D2 
29 UOzZa 113714   D6 
.. ...  ...   ... 
70 wCQDZ 102920   D5 
71 nYEfT 140140   D9 
72 FDXdG 99796   D4 
73 CPCHY 111255   D5 
74 SxXfK 91946   D3 
75 BGwnC 135886   D8 
76 gNLkt 115078   D6 
77 VsNhX 77128   D2 
78 oJZFB 117714   D6 
79 ERqEy 123873   D7 
80 SWNPP 86705   D3 
81 LOXQU 147105   D9 
82 dEfhH 76160   D2 
83 OlDLD 61954   D1 
84 chzAB 132647   D8 
85 cOdBf 111554   D5 
86 ekqMa 84482   D2 
87 VYELR 92139   D3 
88 iTNsN 51796   D0 
89 QTOtk 111048   D5 
90 mzuDF 100903   D4 
91 fSJjS 97345   D4 
92 zjMUt 127831   D7 
93 NRXjs 83754   D2 
94 YxnIu 90778   D3 
95 FiIbR 123566   D7 
96 CpUsf 97854   D4 
97 SCren 130119   D8 
98 oBLpq 60390   D1 
99 WgELS 122030   D7 

[100 rows x 3 columns] 
+0

どうもありがとうございました – Colin

関連する問題