>>> import pandas as pd
>>> df=pd.read_csv(r"C:\Users\Administrator\Desktop\position_gbk.csv",encoding='gbk')
>>> df.avg
0 8.0
1 12.5
2 5.0
3 7.0
4 2.5
5 12.5
6 10.5
7 6.0
8 6.0
9 3.0
10 5.5
11 3.0
12 2.5
13 5.0
14 6.0
15 12.5
16 12.5
17 7.0
18 2.5
19 3.5
20 14.0
21 4.5
22 7.0
23 5.0
24 5.0
25 2.5
26 4.5
27 15.0
28 12.5
29 7.0
...
5001 30.0
5002 20.0
5003 11.5
5004 7.0
5005 6.5
5006 3.0
5007 6.0
5008 7.0
5009 7.5
5010 6.5
5011 5.0
5012 4.0
5013 12.5
5014 9.0
5015 11.5
5016 15.0
5017 9.0
5018 17.5
5019 4.5
5020 5.0
5021 7.0
5022 16.0
5023 3.5
5024 4.0
5025 11.5
5026 20.0
5027 22.5
5028 35.0
5029 5.0
5030 22.5
Name: avg, Length: 5031, dtype: float64
>>> df.avg.plot()
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000038B4F28>
>>> import matplotlib as plt
>>>
import matplotlib.pyplot as plt
>>> plt.show()
>>> df.avg.value_counts()
15.0 570
22.5 563
20.0 446
30.0 277
11.5 251
12.5 247
25.0 227
17.5 149
9.0 147
12.0 137
7.5 114
27.5 110
8.0 107
5.0 92
10.0 84
7.0 78
16.0 73
6.0 73
18.0 64
14.0 64
13.5 64
10.5 62
2.5 60
4.0 59
4.5 59
3.0 57
6.5 55
37.5 54
32.5 45
40.0 44
...
18.5 11
14.5 9
21.0 8
15.5 8
29.0 4
55.0 4
20.5 4
60.0 4
75.0 4
30.5 4
23.5 3
22.0 3
31.5 3
33.0 2
28.5 2
42.5 2
26.0 2
29.5 2
31.0 1
34.0 1
52.5 1
25.5 1
65.0 1
28.0 1
43.0 1
36.5 1
2.0 1
32.0 1
48.0 1
70.0 1
Name: avg, Length: 79, dtype: int64
>>> df.avg.value_counts().sort_index().plot()
<matplotlib.axes._subplots.AxesSubplot object at 0x000000000D496AC8>
>>> plt.show()
>>> df.avg.value_counts().sort_index().plot(kind='bar')
<matplotlib.axes._subplots.AxesSubplot object at 0x000000000D496D30>
>>> plt.show()
>>> plt.show()
>>> df.avg.value_counts().sort_index().plot.bar()
<matplotlib.axes._subplots.AxesSubplot object at 0x000000000FDFC7F0>
>>> plt.show()
>>> df.pivot_table(index='city',columns="education",values='avg',aggfunc='mean')
education 不限 博士 大专 本科 硕士
city
上海 14.051471 15.0 13.395455 17.987552 19.180000
北京 15.673387 25.0 12.339474 19.435802 19.759740
南京 7.000000 NaN 9.272727 11.327869 13.500000
厦门 12.500000 NaN 6.785714 11.805556 15.750000
天津 3.500000 NaN 5.500000 9.300000 NaN
广州 9.250000 NaN 8.988095 14.170259 14.571429
成都 10.562500 NaN 11.000000 13.520202 12.750000
杭州 18.269231 NaN 12.327586 16.823432 20.710526
武汉 10.950000 NaN 11.214286 11.500000 7.000000
深圳 15.100000 35.0 13.898936 18.532911 18.029412
苏州 NaN NaN 14.600000 14.310345 16.833333
西安 8.666667 NaN 8.150000 12.208333 5.000000
长沙 7.642857 NaN 9.000000 10.633333 9.000000
>>> df.pivot_table(index='city',columns="education",values='avg',aggfunc='count')
education 不限 博士 大专 本科 硕士
city
上海 68.0 3.0 110.0 723.0 75.0
北京 124.0 2.0 190.0 1877.0 154.0
南京 5.0 NaN 11.0 61.0 6.0
厦门 3.0 NaN 7.0 18.0 2.0
天津 1.0 NaN 4.0 15.0 NaN
广州 12.0 NaN 84.0 232.0 7.0
成都 8.0 NaN 26.0 99.0 2.0
杭州 26.0 NaN 58.0 303.0 19.0
武汉 10.0 NaN 14.0 44.0 1.0
深圳 20.0 1.0 94.0 395.0 17.0
苏州 NaN NaN 5.0 29.0 3.0
西安 3.0 NaN 10.0 24.0 1.0
长沙 7.0 NaN 2.0 15.0 1.0
>>> df.pivot_table(index='city',columns="education",values='avg',aggfunc='count').plot.bar()
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014D03F98>
>>> plt.show()
>>> df.pivot_table(index='city',columns="education",values='avg',aggfunc='count').plot.bar(stacked=True)
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000164D22E8>
>>> plt.show()
>>> df.pivot_table(index='city',columns="education",values='avg',aggfunc='count').plot.barh(stacked=True)
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000164D2EB8>
>>> plt.show()
>>> df.avg.plot.hist()
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014FCF630>
>>> plt.show()
>>> df.avg.hist()
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000164D2780>
>>> plt.show()
>>> df
positionId city companyId firstType ... bottom top avg workYear
0 2537336 上海 8581 技术 ... 7 9 8.0 应届毕业生
1 2427485 上海 23177 技术 ... 10 15 12.5 应届毕业生
2 2511252 上海 57561 设计 ... 4 6 5.0 应届毕业生
3 2427530 上海 7502 市场与销售 ... 6 8 7.0 应届毕业生
4 2245819 上海 130876 技术 ... 2 3 2.5 应届毕业生
5 2580543 上海 28095 金融类 ... 10 15 12.5 应届毕业生
6 1449715 上海 2002 技术 ... 7 14 10.5 应届毕业生
7 2568628 上海 21863 产品/需求/项目类 ... 5 7 6.0 应届毕业生
8 2416852 上海 121208 技术 ... 4 8 6.0 应届毕业生
9 1605795 上海 58109 技术 ... 2 4 3.0 应届毕业生
10 2157863 上海 1938 技术 ... 5 6 5.5 应届毕业生
11 2548985 上海 51223 设计 ... 2 4 3.0 应届毕业生
12 2392425 上海 36009 技术 ... 2 3 2.5 应届毕业生
13 1243515 上海 63922 市场与销售 ... 4 6 5.0 应届毕业生
14 2392372 上海 48294 技术 ... 4 8 6.0 应届毕业生
15 2427555 上海 23177 技术 ... 10 15 12.5 应届毕业生
16 2414480 上海 7502 技术 ... 10 15 12.5 应届毕业生
17 2320870 上海 2002 运营 ... 6 8 7.0 应届毕业生
18 2411279 上海 149677 金融 ... 2 3 2.5 应届毕业生
19 2527100 上海 57577 金融类 ... 3 4 3.5 应届毕业生
20 2561181 上海 93141 技术 ... 10 18 14.0 应届毕业生
21 2501433 上海 143807 金融 ... 3 6 4.5 应届毕业生
22 2517307 上海 73539 市场与销售 ... 6 8 7.0 应届毕业生
23 2388082 上海 146592 市场与销售 ... 4 6 5.0 应届毕业生
24 2531473 上海 7069 产品/需求/项目类 ... 4 6 5.0 应届毕业生
25 2168175 上海 25499 市场与销售 ... 2 3 2.5 应届毕业生
26 2463114 上海 47063 职能 ... 4 5 4.5 应届毕业生
27 2428072 上海 113080 技术 ... 10 20 15.0 应届毕业生
28 2427495 上海 23177 技术 ... 10 15 12.5 应届毕业生
29 2427570 上海 7502 市场与销售 ... 6 8 7.0 应届毕业生
... ... ... ... ... ... ... .. ... ...
5001 1818358 苏州 3564 技术 ... 20 40 30.0 5-10年
5002 180764 苏州 16231 技术 ... 15 25 20.0 5-10年
5003 2019293 苏州 119552 运营 ... 8 15 11.5 不限
5004 2568821 苏州 39467 产品/需求/项目类 ... 6 8 7.0 不限
5005 480882 苏州 41687 市场与销售 ... 5 8 6.5 不限
5006 2338327 天津 81114 市场与销售 ... 2 4 3.0 应届毕业生
5007 1705654 天津 86563 市场与销售 ... 4 8 6.0 1-3年
5008 2413458 天津 31444 技术 ... 6 8 7.0 1-3年
5009 2574960 天津 94608 运营/编辑/客服 ... 6 9 7.5 1-3年
5010 2462767 天津 22182 运营 ... 5 8 6.5 1-3年
5011 2287749 天津 15955 市场与销售 ... 4 6 5.0 1-3年
5012 2522790 天津 81280 运营 ... 3 5 4.0 1-3年
5013 2413373 天津 31444 技术 ... 10 15 12.5 3-5年
5014 2562872 天津 47428 技术 ... 8 10 9.0 3-5年
5015 2538845 天津 19283 产品/需求/项目类 ... 8 15 11.5 3-5年
5016 1934925 天津 132876 技术 ... 10 20 15.0 3-5年
5017 1913388 天津 112213 技术 ... 6 12 9.0 3-5年
5018 2343332 天津 66805 技术 ... 15 20 17.5 5-10年
5019 1815094 天津 71192 设计 ... 3 6 4.5 不限
5020 2341255 天津 121291 设计 ... 4 6 5.0 不限
5021 2267253 天津 144782 技术 ... 6 8 7.0 不限
5022 2472967 天津 92444 技术 ... 12 20 16.0 不限
5023 2378458 天津 112379 职能 ... 3 4 3.5 不限
5024 2508187 天津 32877 市场与销售 ... 3 5 4.0 不限
5025 636485 天津 52887 技术 ... 8 15 11.5 不限
5026 2582910 北京 3786 开发/测试/运维类 ... 15 25 20.0 3-5年
5027 2583183 北京 59239 开发/测试/运维类 ... 15 30 22.5 3-5年
5028 1832950 北京 50702 技术 ... 30 40 35.0 5-10年
5029 2582349 北京 156832 市场/商务/销售类 ... 4 6 5.0 不限
5030 1757974 北京 1575 技术 ... 15 30 22.5 不限
[5031 rows x 15 columns]
>>> df.groupby('education').apply(lambda x:x.avg)
education
不限 36 12.0
45 9.0
90 11.5
107 15.0
110 7.0
114 3.5
141 9.5
165 15.0
189 10.0
195 7.0
211 22.5
223 20.0
224 20.0
296 15.0
299 12.5
304 5.5
308 15.0
329 6.5
357 20.0
370 4.0
451 11.5
486 15.0
489 16.0
490 12.5
523 15.0
533 20.0
583 15.0
588 15.0
664 22.5
669 16.0
...
硕士 4317 25.0
4338 11.5
4444 27.5
4473 37.5
4484 20.0
4485 37.5
4521 20.0
4540 22.5
4543 27.5
4545 30.0
4554 12.0
4567 22.5
4573 22.5
4583 12.5
4624 5.5
4692 20.0
4760 20.0
4784 15.0
4788 8.0
4796 13.5
4800 13.5
4803 11.0
4870 7.0
4884 5.0
4935 9.0
4936 22.5
4960 9.0
4972 8.0
4975 15.0
4996 27.5
Name: avg, Length: 5031, dtype: float64
>>> df.groupby('education').apply(lambda x:x.avg).unstack()
0 1 2 3 4 ... 5026 5027 5028 5029 5030
education ...
不限 NaN NaN NaN NaN NaN ... NaN NaN NaN 5.0 NaN
博士 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
大专 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
本科 NaN 12.5 5.0 7.0 2.5 ... 20.0 22.5 35.0 NaN 22.5
硕士 8.0 NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
[5 rows x 5031 columns]
>>> df.groupby('education').apply(lambda x:x.avg).unstack().T
education 不限 博士 大专 本科 硕士
0 NaN NaN NaN NaN 8.0
1 NaN NaN NaN 12.5 NaN
2 NaN NaN NaN 5.0 NaN
3 NaN NaN NaN 7.0 NaN
4 NaN NaN NaN 2.5 NaN
5 NaN NaN NaN 12.5 NaN
6 NaN NaN NaN 10.5 NaN
7 NaN NaN NaN NaN 6.0
8 NaN NaN NaN 6.0 NaN
9 NaN NaN NaN 3.0 NaN
10 NaN NaN NaN 5.5 NaN
11 NaN NaN NaN 3.0 NaN
12 NaN NaN NaN 2.5 NaN
13 NaN NaN NaN 5.0 NaN
14 NaN NaN NaN NaN 6.0
15 NaN NaN NaN 12.5 NaN
16 NaN NaN NaN NaN 12.5
17 NaN NaN NaN 7.0 NaN
18 NaN NaN NaN 2.5 NaN
19 NaN NaN NaN 3.5 NaN
20 NaN NaN NaN 14.0 NaN
21 NaN NaN NaN NaN 4.5
22 NaN NaN NaN 7.0 NaN
23 NaN NaN NaN 5.0 NaN
24 NaN NaN NaN 5.0 NaN
25 NaN NaN NaN 2.5 NaN
26 NaN NaN 4.5 NaN NaN
27 NaN NaN NaN 15.0 NaN
28 NaN NaN NaN 12.5 NaN
29 NaN NaN NaN 7.0 NaN
... ... .. ... ... ...
5001 NaN NaN NaN 30.0 NaN
5002 NaN NaN 20.0 NaN NaN
5003 NaN NaN NaN 11.5 NaN
5004 NaN NaN NaN 7.0 NaN
5005 NaN NaN NaN 6.5 NaN
5006 NaN NaN NaN 3.0 NaN
5007 NaN NaN NaN 6.0 NaN
5008 NaN NaN NaN 7.0 NaN
5009 NaN NaN 7.5 NaN NaN
5010 NaN NaN 6.5 NaN NaN
5011 NaN NaN NaN 5.0 NaN
5012 NaN NaN 4.0 NaN NaN
5013 NaN NaN NaN 12.5 NaN
5014 NaN NaN NaN 9.0 NaN
5015 NaN NaN NaN 11.5 NaN
5016 NaN NaN NaN 15.0 NaN
5017 NaN NaN NaN 9.0 NaN
5018 NaN NaN NaN 17.5 NaN
5019 NaN NaN NaN 4.5 NaN
5020 NaN NaN NaN 5.0 NaN
5021 NaN NaN NaN 7.0 NaN
5022 NaN NaN NaN 16.0 NaN
5023 3.5 NaN NaN NaN NaN
5024 NaN NaN 4.0 NaN NaN
5025 NaN NaN NaN 11.5 NaN
5026 NaN NaN NaN 20.0 NaN
5027 NaN NaN NaN 22.5 NaN
5028 NaN NaN NaN 35.0 NaN
5029 5.0 NaN NaN NaN NaN
5030 NaN NaN NaN 22.5 NaN
[5031 rows x 5 columns]
>>> df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.hist()
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014F75F98>
>>> plt.show()
>>> df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.hist(alpha=0.5)
<matplotlib.axes._subplots.AxesSubplot object at 0x000000001696D080>
>>> plt.show()
>>> df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.hist(alpha=0.5,stacked=True,bins=30)
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016EECF28>
>>> plt.show()
>>> df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.hist(alpha=0.5,stacked=True,bins=30,orientation='horizontal')
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014F714E0>
>>> plt.show()
>>> print('#箱线图')
#箱线图
>>> df.groupby('education').apply(lambda x:x.avg).unstack()
0 1 2 3 4 ... 5026 5027 5028 5029 5030
education ...
不限 NaN NaN NaN NaN NaN ... NaN NaN NaN 5.0 NaN
博士 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
大专 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
本科 NaN 12.5 5.0 7.0 2.5 ... 20.0 22.5 35.0 NaN 22.5
硕士 8.0 NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
[5 rows x 5031 columns]
>>> df.groupby('education').apply(lambda x:x.avg).unstack().T
education 不限 博士 大专 本科 硕士
0 NaN NaN NaN NaN 8.0
1 NaN NaN NaN 12.5 NaN
2 NaN NaN NaN 5.0 NaN
3 NaN NaN NaN 7.0 NaN
4 NaN NaN NaN 2.5 NaN
5 NaN NaN NaN 12.5 NaN
6 NaN NaN NaN 10.5 NaN
7 NaN NaN NaN NaN 6.0
8 NaN NaN NaN 6.0 NaN
9 NaN NaN NaN 3.0 NaN
10 NaN NaN NaN 5.5 NaN
11 NaN NaN NaN 3.0 NaN
12 NaN NaN NaN 2.5 NaN
13 NaN NaN NaN 5.0 NaN
14 NaN NaN NaN NaN 6.0
15 NaN NaN NaN 12.5 NaN
16 NaN NaN NaN NaN 12.5
17 NaN NaN NaN 7.0 NaN
18 NaN NaN NaN 2.5 NaN
19 NaN NaN NaN 3.5 NaN
20 NaN NaN NaN 14.0 NaN
21 NaN NaN NaN NaN 4.5
22 NaN NaN NaN 7.0 NaN
23 NaN NaN NaN 5.0 NaN
24 NaN NaN NaN 5.0 NaN
25 NaN NaN NaN 2.5 NaN
26 NaN NaN 4.5 NaN NaN
27 NaN NaN NaN 15.0 NaN
28 NaN NaN NaN 12.5 NaN
29 NaN NaN NaN 7.0 NaN
... ... .. ... ... ...
5001 NaN NaN NaN 30.0 NaN
5002 NaN NaN 20.0 NaN NaN
5003 NaN NaN NaN 11.5 NaN
5004 NaN NaN NaN 7.0 NaN
5005 NaN NaN NaN 6.5 NaN
5006 NaN NaN NaN 3.0 NaN
5007 NaN NaN NaN 6.0 NaN
5008 NaN NaN NaN 7.0 NaN
5009 NaN NaN 7.5 NaN NaN
5010 NaN NaN 6.5 NaN NaN
5011 NaN NaN NaN 5.0 NaN
5012 NaN NaN 4.0 NaN NaN
5013 NaN NaN NaN 12.5 NaN
5014 NaN NaN NaN 9.0 NaN
5015 NaN NaN NaN 11.5 NaN
5016 NaN NaN NaN 15.0 NaN
5017 NaN NaN NaN 9.0 NaN
5018 NaN NaN NaN 17.5 NaN
5019 NaN NaN NaN 4.5 NaN
5020 NaN NaN NaN 5.0 NaN
5021 NaN NaN NaN 7.0 NaN
5022 NaN NaN NaN 16.0 NaN
5023 3.5 NaN NaN NaN NaN
5024 NaN NaN 4.0 NaN NaN
5025 NaN NaN NaN 11.5 NaN
5026 NaN NaN NaN 20.0 NaN
5027 NaN NaN NaN 22.5 NaN
5028 NaN NaN NaN 35.0 NaN
5029 5.0 NaN NaN NaN NaN
5030 NaN NaN NaN 22.5 NaN
[5031 rows x 5 columns]
>>> df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.box()
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014F29978>
>>> plt.show()
>>> df.boxplot(column='avg',by='education')
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014AD2208>
>>> plt.show()
>>> print('密度图')
密度图
>>> df.avg.plot.kde()
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014F10550>
>>> plt.show()
>>> df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.area()
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000149C91D0>
>>> plt.show()
>>> print('面积图')
面积图
>>> df
positionId city companyId firstType ... bottom top avg workYear
0 2537336 上海 8581 技术 ... 7 9 8.0 应届毕业生
1 2427485 上海 23177 技术 ... 10 15 12.5 应届毕业生
2 2511252 上海 57561 设计 ... 4 6 5.0 应届毕业生
3 2427530 上海 7502 市场与销售 ... 6 8 7.0 应届毕业生
4 2245819 上海 130876 技术 ... 2 3 2.5 应届毕业生
5 2580543 上海 28095 金融类 ... 10 15 12.5 应届毕业生
6 1449715 上海 2002 技术 ... 7 14 10.5 应届毕业生
7 2568628 上海 21863 产品/需求/项目类 ... 5 7 6.0 应届毕业生
8 2416852 上海 121208 技术 ... 4 8 6.0 应届毕业生
9 1605795 上海 58109 技术 ... 2 4 3.0 应届毕业生
10 2157863 上海 1938 技术 ... 5 6 5.5 应届毕业生
11 2548985 上海 51223 设计 ... 2 4 3.0 应届毕业生
12 2392425 上海 36009 技术 ... 2 3 2.5 应届毕业生
13 1243515 上海 63922 市场与销售 ... 4 6 5.0 应届毕业生
14 2392372 上海 48294 技术 ... 4 8 6.0 应届毕业生
15 2427555 上海 23177 技术 ... 10 15 12.5 应届毕业生
16 2414480 上海 7502 技术 ... 10 15 12.5 应届毕业生
17 2320870 上海 2002 运营 ... 6 8 7.0 应届毕业生
18 2411279 上海 149677 金融 ... 2 3 2.5 应届毕业生
19 2527100 上海 57577 金融类 ... 3 4 3.5 应届毕业生
20 2561181 上海 93141 技术 ... 10 18 14.0 应届毕业生
21 2501433 上海 143807 金融 ... 3 6 4.5 应届毕业生
22 2517307 上海 73539 市场与销售 ... 6 8 7.0 应届毕业生
23 2388082 上海 146592 市场与销售 ... 4 6 5.0 应届毕业生
24 2531473 上海 7069 产品/需求/项目类 ... 4 6 5.0 应届毕业生
25 2168175 上海 25499 市场与销售 ... 2 3 2.5 应届毕业生
26 2463114 上海 47063 职能 ... 4 5 4.5 应届毕业生
27 2428072 上海 113080 技术 ... 10 20 15.0 应届毕业生
28 2427495 上海 23177 技术 ... 10 15 12.5 应届毕业生
29 2427570 上海 7502 市场与销售 ... 6 8 7.0 应届毕业生
... ... ... ... ... ... ... .. ... ...
5001 1818358 苏州 3564 技术 ... 20 40 30.0 5-10年
5002 180764 苏州 16231 技术 ... 15 25 20.0 5-10年
5003 2019293 苏州 119552 运营 ... 8 15 11.5 不限
5004 2568821 苏州 39467 产品/需求/项目类 ... 6 8 7.0 不限
5005 480882 苏州 41687 市场与销售 ... 5 8 6.5 不限
5006 2338327 天津 81114 市场与销售 ... 2 4 3.0 应届毕业生
5007 1705654 天津 86563 市场与销售 ... 4 8 6.0 1-3年
5008 2413458 天津 31444 技术 ... 6 8 7.0 1-3年
5009 2574960 天津 94608 运营/编辑/客服 ... 6 9 7.5 1-3年
5010 2462767 天津 22182 运营 ... 5 8 6.5 1-3年
5011 2287749 天津 15955 市场与销售 ... 4 6 5.0 1-3年
5012 2522790 天津 81280 运营 ... 3 5 4.0 1-3年
5013 2413373 天津 31444 技术 ... 10 15 12.5 3-5年
5014 2562872 天津 47428 技术 ... 8 10 9.0 3-5年
5015 2538845 天津 19283 产品/需求/项目类 ... 8 15 11.5 3-5年
5016 1934925 天津 132876 技术 ... 10 20 15.0 3-5年
5017 1913388 天津 112213 技术 ... 6 12 9.0 3-5年
5018 2343332 天津 66805 技术 ... 15 20 17.5 5-10年
5019 1815094 天津 71192 设计 ... 3 6 4.5 不限
5020 2341255 天津 121291 设计 ... 4 6 5.0 不限
5021 2267253 天津 144782 技术 ... 6 8 7.0 不限
5022 2472967 天津 92444 技术 ... 12 20 16.0 不限
5023 2378458 天津 112379 职能 ... 3 4 3.5 不限
5024 2508187 天津 32877 市场与销售 ... 3 5 4.0 不限
5025 636485 天津 52887 技术 ... 8 15 11.5 不限
5026 2582910 北京 3786 开发/测试/运维类 ... 15 25 20.0 3-5年
5027 2583183 北京 59239 开发/测试/运维类 ... 15 30 22.5 3-5年
5028 1832950 北京 50702 技术 ... 30 40 35.0 5-10年
5029 2582349 北京 156832 市场/商务/销售类 ... 4 6 5.0 不限
5030 1757974 北京 1575 技术 ... 15 30 22.5 不限
[5031 rows x 15 columns]
>>> df.pivot_table(index='avg',columns='education',aggfunc='count',values='positionId')
education 不限 博士 大专 本科 硕士
avg
1.5 5.0 NaN 4.0 12.0 1.0
2.0 NaN NaN NaN NaN 1.0
2.5 10.0 NaN 7.0 39.0 4.0
3.0 8.0 NaN 8.0 38.0 3.0
3.5 6.0 NaN 11.0 20.0 3.0
4.0 13.0 NaN 24.0 18.0 4.0
4.5 4.0 NaN 22.0 28.0 5.0
5.0 13.0 NaN 34.0 41.0 4.0
5.5 2.0 NaN 10.0 26.0 1.0
6.0 1.0 NaN 23.0 44.0 5.0
6.5 7.0 NaN 13.0 33.0 2.0
7.0 5.0 NaN 20.0 46.0 7.0
7.5 7.0 NaN 25.0 78.0 4.0
8.0 5.0 NaN 17.0 76.0 9.0
8.5 NaN NaN 11.0 13.0 3.0
9.0 5.0 NaN 35.0 101.0 6.0
9.5 4.0 NaN 4.0 22.0 5.0
10.0 2.0 1.0 19.0 61.0 1.0
10.5 6.0 NaN 11.0 43.0 2.0
11.0 1.0 NaN 7.0 20.0 2.0
11.5 19.0 NaN 39.0 184.0 9.0
12.0 10.0 NaN 16.0 106.0 5.0
12.5 17.0 NaN 31.0 183.0 16.0
13.0 NaN NaN 3.0 10.0 NaN
13.5 NaN NaN 12.0 47.0 5.0
14.0 3.0 NaN 6.0 52.0 3.0
14.5 1.0 NaN 3.0 4.0 1.0
15.0 23.0 1.0 65.0 450.0 31.0
15.5 NaN NaN 1.0 6.0 1.0
16.0 6.0 NaN 9.0 56.0 2.0
... ... ... ... ... ...
26.5 NaN NaN NaN 19.0 2.0
27.0 NaN NaN 1.0 12.0 1.0
27.5 NaN 1.0 1.0 98.0 10.0
28.0 1.0 NaN NaN NaN NaN
28.5 NaN NaN 1.0 1.0 NaN
29.0 NaN NaN NaN 3.0 1.0
29.5 1.0 NaN NaN 1.0 NaN
30.0 13.0 NaN 5.0 237.0 22.0
30.5 2.0 NaN NaN 2.0 NaN
31.0 NaN NaN NaN 1.0 NaN
31.5 NaN NaN NaN 2.0 1.0
32.0 NaN NaN NaN 1.0 NaN
32.5 1.0 NaN 3.0 38.0 3.0
33.0 NaN NaN NaN 2.0 NaN
34.0 NaN NaN NaN 1.0 NaN
35.0 7.0 1.0 1.0 28.0 NaN
36.5 NaN NaN NaN 1.0 NaN
37.5 2.0 NaN 2.0 39.0 11.0
40.0 1.0 NaN 1.0 39.0 3.0
42.5 NaN NaN NaN 2.0 NaN
43.0 NaN NaN NaN 1.0 NaN
45.0 NaN NaN 1.0 22.0 5.0
48.0 NaN NaN NaN 1.0 NaN
50.0 NaN NaN NaN 10.0 6.0
52.5 NaN NaN NaN 1.0 NaN
55.0 NaN NaN NaN 4.0 NaN
60.0 NaN NaN 1.0 2.0 1.0
65.0 NaN NaN NaN 1.0 NaN
70.0 NaN NaN NaN 1.0 NaN
75.0 NaN NaN NaN 3.0 1.0
[79 rows x 5 columns]
>>> df.pivot_table(index='avg',columns='education',aggfunc='count',values='positionId')
education 不限 博士 大专 本科 硕士
avg
1.5 5.0 NaN 4.0 12.0 1.0
2.0 NaN NaN NaN NaN 1.0
2.5 10.0 NaN 7.0 39.0 4.0
3.0 8.0 NaN 8.0 38.0 3.0
3.5 6.0 NaN 11.0 20.0 3.0
4.0 13.0 NaN 24.0 18.0 4.0
4.5 4.0 NaN 22.0 28.0 5.0
5.0 13.0 NaN 34.0 41.0 4.0
5.5 2.0 NaN 10.0 26.0 1.0
6.0 1.0 NaN 23.0 44.0 5.0
6.5 7.0 NaN 13.0 33.0 2.0
7.0 5.0 NaN 20.0 46.0 7.0
7.5 7.0 NaN 25.0 78.0 4.0
8.0 5.0 NaN 17.0 76.0 9.0
8.5 NaN NaN 11.0 13.0 3.0
9.0 5.0 NaN 35.0 101.0 6.0
9.5 4.0 NaN 4.0 22.0 5.0
10.0 2.0 1.0 19.0 61.0 1.0
10.5 6.0 NaN 11.0 43.0 2.0
11.0 1.0 NaN 7.0 20.0 2.0
11.5 19.0 NaN 39.0 184.0 9.0
12.0 10.0 NaN 16.0 106.0 5.0
12.5 17.0 NaN 31.0 183.0 16.0
13.0 NaN NaN 3.0 10.0 NaN
13.5 NaN NaN 12.0 47.0 5.0
14.0 3.0 NaN 6.0 52.0 3.0
14.5 1.0 NaN 3.0 4.0 1.0
15.0 23.0 1.0 65.0 450.0 31.0
15.5 NaN NaN 1.0 6.0 1.0
16.0 6.0 NaN 9.0 56.0 2.0
... ... ... ... ... ...
26.5 NaN NaN NaN 19.0 2.0
27.0 NaN NaN 1.0 12.0 1.0
27.5 NaN 1.0 1.0 98.0 10.0
28.0 1.0 NaN NaN NaN NaN
28.5 NaN NaN 1.0 1.0 NaN
29.0 NaN NaN NaN 3.0 1.0
29.5 1.0 NaN NaN 1.0 NaN
30.0 13.0 NaN 5.0 237.0 22.0
30.5 2.0 NaN NaN 2.0 NaN
31.0 NaN NaN NaN 1.0 NaN
31.5 NaN NaN NaN 2.0 1.0
32.0 NaN NaN NaN 1.0 NaN
32.5 1.0 NaN 3.0 38.0 3.0
33.0 NaN NaN NaN 2.0 NaN
34.0 NaN NaN NaN 1.0 NaN
35.0 7.0 1.0 1.0 28.0 NaN
36.5 NaN NaN NaN 1.0 NaN
37.5 2.0 NaN 2.0 39.0 11.0
40.0 1.0 NaN 1.0 39.0 3.0
42.5 NaN NaN NaN 2.0 NaN
43.0 NaN NaN NaN 1.0 NaN
45.0 NaN NaN 1.0 22.0 5.0
48.0 NaN NaN NaN 1.0 NaN
50.0 NaN NaN NaN 10.0 6.0
52.5 NaN NaN NaN 1.0 NaN
55.0 NaN NaN NaN 4.0 NaN
60.0 NaN NaN 1.0 2.0 1.0
65.0 NaN NaN NaN 1.0 NaN
70.0 NaN NaN NaN 1.0 NaN
75.0 NaN NaN NaN 3.0 1.0
[79 rows x 5 columns]
>>> df.pivot_table(index='avg',columns='education',aggfunc='count',values='positionId').plot.area()
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014CD7128>
>>> plt.show()
>>> df.groupby('companyId').aggregate(['mean','count']).avg
mean count
companyId
43 11.500000 1
53 16.250000 4
62 17.125000 32
70 27.500000 1
91 29.227273 11
94 17.500000 2
101 20.250000 2
108 24.444444 9
121 20.750000 2
129 18.566667 15
133 20.000000 13
138 10.000000 1
146 11.500000 1
147 25.000000 2
165 17.000000 4
175 22.500000 2
179 20.000000 2
228 15.000000 1
230 11.250000 2
250 15.500000 1
270 16.000000 1
273 8.250000 2
280 9.250000 2
283 12.500000 1
285 22.500000 1
293 30.000000 1
320 11.500000 1
323 25.000000 2
325 19.821429 14
329 18.208333 36
... ... ...
154766 5.833333 3
154782 45.000000 1
154804 5.000000 1
154915 4.000000 1
155015 7.500000 1
155137 25.000000 1
155154 25.000000 1
155256 12.000000 1
155257 7.000000 1
155494 12.500000 3
155801 4.000000 1
156167 17.000000 2
156192 11.500000 1
156469 3.500000 1
156484 17.500000 1
156832 5.000000 1
156865 2.500000 1
156946 9.000000 1
156951 15.000000 1
156979 22.500000 1
157159 15.000000 1
157236 7.000000 1
157345 4.500000 1
157392 30.000000 1
157418 16.333333 3
157426 9.000000 1
157453 6.000000 1
157647 5.000000 1
157665 3.000000 1
157744 4.500000 1
[2296 rows x 2 columns]
>>> df.groupby('companyId').aggregate(['mean','count','max']).avg
mean count max
companyId
43 11.500000 1 11.5
53 16.250000 4 20.0
62 17.125000 32 37.5
70 27.500000 1 27.5
91 29.227273 11 45.0
94 17.500000 2 27.5
101 20.250000 2 22.5
108 24.444444 9 30.0
121 20.750000 2 25.0
129 18.566667 15 27.5
133 20.000000 13 30.0
138 10.000000 1 10.0
146 11.500000 1 11.5
147 25.000000 2 25.0
165 17.000000 4 20.0
175 22.500000 2 22.5
179 20.000000 2 25.0
228 15.000000 1 15.0
230 11.250000 2 12.0
250 15.500000 1 15.5
270 16.000000 1 16.0
273 8.250000 2 9.0
280 9.250000 2 15.0
283 12.500000 1 12.5
285 22.500000 1 22.5
293 30.000000 1 30.0
320 11.500000 1 11.5
323 25.000000 2 27.5
325 19.821429 14 40.0
329 18.208333 36 32.5
... ... ... ...
154766 5.833333 3 11.5
154782 45.000000 1 45.0
154804 5.000000 1 5.0
154915 4.000000 1 4.0
155015 7.500000 1 7.5
155137 25.000000 1 25.0
155154 25.000000 1 25.0
155256 12.000000 1 12.0
155257 7.000000 1 7.0
155494 12.500000 3 12.5
155801 4.000000 1 4.0
156167 17.000000 2 30.0
156192 11.500000 1 11.5
156469 3.500000 1 3.5
156484 17.500000 1 17.5
156832 5.000000 1 5.0
156865 2.500000 1 2.5
156946 9.000000 1 9.0
156951 15.000000 1 15.0
156979 22.500000 1 22.5
157159 15.000000 1 15.0
157236 7.000000 1 7.0
157345 4.500000 1 4.5
157392 30.000000 1 30.0
157418 16.333333 3 22.5
157426 9.000000 1 9.0
157453 6.000000 1 6.0
157647 5.000000 1 5.0
157665 3.000000 1 3.0
157744 4.500000 1 4.5
[2296 rows x 3 columns]
>>> df.groupby('companyId').aggregate(['mean','count','max']).avg.plot.scatter(x='mean',y='count')
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014C26D68>
>>> plt.show()
>>> df.groupby('companyId').aggregate(['mean','count','max']).avg.plot.scatter(x='mean',y='max')
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014F29278>
>>> matrix=df.groupby('companyId').aggregate(['mean','count','max']).avg
>>> matrix.head()
mean count max
companyId
43 11.500000 1 11.5
53 16.250000 4 20.0
62 17.125000 32 37.5
70 27.500000 1 27.5
91 29.227273 11 45.0
>>> pd.plotting.scatter_matrix(matrix)
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x000000001682EDA0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x000000000FDF9E10>,
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000165183C8>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016546940>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016869EB8>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016D47F98>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x00000000149F9550>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014A0AB00>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014A0AB38>]],
dtype=object)
>>> plt.show()
>>> pd.plotting.scatter_matrix(matrix.query())
Traceback (most recent call last):
File "<pyshell#76>", line 1, in <module>
pd.plotting.scatter_matrix(matrix.query())
TypeError: query() missing 1 required positional argument: 'expr'
>>> pd.plotting.scatter_matrix(matrix.query('count>50'))
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014C26C50>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000017426550>,
<matplotlib.axes._subplots.AxesSubplot object at 0x000000001744B978>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x0000000017470EF0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000192414A8>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000019267A20>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x000000001928EF98>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016846208>,
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000168465C0>]],
dtype=object)
>>> plt.show()
>>> pd.plotting.scatter_matrix(matrix.query('count<50'))
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x000000001682E470>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000017494D30>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014AC6B38>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014A9D0F0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014C6A668>,
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000164D6BE0>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x000000000FDE4198>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014984748>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000014984780>]],
dtype=object)
>>> plt.show()
>>> pd.plotting.scatter_matrix(matrix.query('count<50'),diagonal='kde')
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x00000000168ACDA0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016785CF8>,
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000167B52B0>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016ADC828>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016B05DA0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016B37358>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016B5D8D0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016B87E80>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016B87EB8>]],
dtype=object)
>>> plt.show()
>>> df.city.value_counts()
北京 2347
上海 979
深圳 527
杭州 406
广州 335
成都 135
南京 83
武汉 69
西安 38
苏州 37
厦门 30
长沙 25
天津 20
Name: city, dtype: int64
>>> plt.show()
>>> df.city.value_counts().plot.pie()
<matplotlib.axes._subplots.AxesSubplot object at 0x000000001675D080>
>>> plt.show()
>>> df.city.value_counts().plot.pie(figsize=(6,6))
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000016C72828>
>>> plt.show()
>>>