{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 美国婴儿名字数据\n", "* 数据来源: https://www.ssa.gov/oact/babynames/limits.html\n", "* 包括1880至2016所有年份出生的婴儿名。\n", "* 我们使用这个例子来展示python强大的数据总结和可视化功能,代码细节将在后续课程中讲解。" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import re as re\n", "import scipy\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# 读取数据\n", "\n", "years = range(1880, 2017) # range函数:第三节课讲解\n", "pieces = [] # 列表:第二节课讲解\n", "columns = ['name', 'gender', 'frequency']\n", "\n", "for year in years: # for循环:第二节课讲解\n", " path = './names/yob%d.txt' % year \n", " frame = pd.read_csv(path, names=columns) # 数据读取: 第八节课讲解\n", " frame['year'] = year # 增加变量year:第八节课讲解\n", " pieces.append(frame)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "baby_names = pd.concat(pieces, ignore_index=True) # 转换为pd数据: 第五节课讲解" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
namegenderfrequencyyear
0MaryF70651880
1AnnaF26041880
2EmmaF20031880
3ElizabethF19391880
4MinnieF17461880
5MargaretF15781880
6IdaF14721880
7AliceF14141880
8BerthaF13201880
9SarahF12881880
10AnnieF12581880
11ClaraF12261880
12EllaF11561880
13FlorenceF10631880
14CoraF10451880
15MarthaF10401880
16LauraF10121880
17NellieF9951880
18GraceF9821880
19CarrieF9491880
20MaudeF8581880
21MabelF8081880
22BessieF7961880
23JennieF7931880
24GertrudeF7871880
25JuliaF7831880
26HattieF7691880
27EdithF7681880
28MattieF7041880
29RoseF7001880
...............
1891864ZariyanM52016
1891865ZarrenM52016
1891866ZarynM52016
1891867ZaxonM52016
1891868ZaxtynM52016
1891869ZayeM52016
1891870ZaymarM52016
1891871ZaymirM52016
1891872ZaynnM52016
1891873ZayshaunM52016
1891874ZedricM52016
1891875ZekariahM52016
1891876ZelanM52016
1891877ZephenM52016
1891878ZephyrusM52016
1891879ZericM52016
1891880ZerinM52016
1891881ZethanM52016
1891882ZihaoM52016
1891883ZimoM52016
1891884ZinnM52016
1891885ZiruiM52016
1891886ZiyaM52016
1891887ZiyangM52016
1891888ZoelM52016
1891889ZoltonM52016
1891890ZurichM52016
1891891ZyahirM52016
1891892ZyelM52016
1891893ZylynM52016
\n", "

1891894 rows × 4 columns

\n", "
" ], "text/plain": [ " name gender frequency year\n", "0 Mary F 7065 1880\n", "1 Anna F 2604 1880\n", "2 Emma F 2003 1880\n", "3 Elizabeth F 1939 1880\n", "4 Minnie F 1746 1880\n", "5 Margaret F 1578 1880\n", "6 Ida F 1472 1880\n", "7 Alice F 1414 1880\n", "8 Bertha F 1320 1880\n", "9 Sarah F 1288 1880\n", "10 Annie F 1258 1880\n", "11 Clara F 1226 1880\n", "12 Ella F 1156 1880\n", "13 Florence F 1063 1880\n", "14 Cora F 1045 1880\n", "15 Martha F 1040 1880\n", "16 Laura F 1012 1880\n", "17 Nellie F 995 1880\n", "18 Grace F 982 1880\n", "19 Carrie F 949 1880\n", "20 Maude F 858 1880\n", "21 Mabel F 808 1880\n", "22 Bessie F 796 1880\n", "23 Jennie F 793 1880\n", "24 Gertrude F 787 1880\n", "25 Julia F 783 1880\n", "26 Hattie F 769 1880\n", "27 Edith F 768 1880\n", "28 Mattie F 704 1880\n", "29 Rose F 700 1880\n", "... ... ... ... ...\n", "1891864 Zariyan M 5 2016\n", "1891865 Zarren M 5 2016\n", "1891866 Zaryn M 5 2016\n", "1891867 Zaxon M 5 2016\n", "1891868 Zaxtyn M 5 2016\n", "1891869 Zaye M 5 2016\n", "1891870 Zaymar M 5 2016\n", "1891871 Zaymir M 5 2016\n", "1891872 Zaynn M 5 2016\n", "1891873 Zayshaun M 5 2016\n", "1891874 Zedric M 5 2016\n", "1891875 Zekariah M 5 2016\n", "1891876 Zelan M 5 2016\n", "1891877 Zephen M 5 2016\n", "1891878 Zephyrus M 5 2016\n", "1891879 Zeric M 5 2016\n", "1891880 Zerin M 5 2016\n", "1891881 Zethan M 5 2016\n", "1891882 Zihao M 5 2016\n", "1891883 Zimo M 5 2016\n", "1891884 Zinn M 5 2016\n", "1891885 Zirui M 5 2016\n", "1891886 Ziya M 5 2016\n", "1891887 Ziyang M 5 2016\n", "1891888 Zoel M 5 2016\n", "1891889 Zolton M 5 2016\n", "1891890 Zurich M 5 2016\n", "1891891 Zyahir M 5 2016\n", "1891892 Zyel M 5 2016\n", "1891893 Zylyn M 5 2016\n", "\n", "[1891894 rows x 4 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "baby_names" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
namegenderfrequencyyear
0MaryF70651880
1AnnaF26041880
2EmmaF20031880
3ElizabethF19391880
4MinnieF17461880
5MargaretF15781880
6IdaF14721880
7AliceF14141880
8BerthaF13201880
9SarahF12881880
\n", "
" ], "text/plain": [ " name gender frequency year\n", "0 Mary F 7065 1880\n", "1 Anna F 2604 1880\n", "2 Emma F 2003 1880\n", "3 Elizabeth F 1939 1880\n", "4 Minnie F 1746 1880\n", "5 Margaret F 1578 1880\n", "6 Ida F 1472 1880\n", "7 Alice F 1414 1880\n", "8 Bertha F 1320 1880\n", "9 Sarah F 1288 1880" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 总共189万行数据\n", "# 查看前十行数据\n", "# 注意:python默认的索引从0开始\n", "# 第一行:Mary是个女性名字(gender为F),在1880年总共有7065个婴儿取名叫Mary\n", "baby_names.head(10)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
frequencyyear
count1.891894e+061.891894e+06
mean1.821106e+021.974122e+03
std1.544197e+033.386497e+01
min5.000000e+001.880000e+03
25%7.000000e+001.951000e+03
50%1.200000e+011.984000e+03
75%3.200000e+012.002000e+03
max9.968500e+042.016000e+03
\n", "
" ], "text/plain": [ " frequency year\n", "count 1.891894e+06 1.891894e+06\n", "mean 1.821106e+02 1.974122e+03\n", "std 1.544197e+03 3.386497e+01\n", "min 5.000000e+00 1.880000e+03\n", "25% 7.000000e+00 1.951000e+03\n", "50% 1.200000e+01 1.984000e+03\n", "75% 3.200000e+01 2.002000e+03\n", "max 9.968500e+04 2.016000e+03" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "baby_names.describe() # 使用describe方法查看数据基本信息" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 数据科学的一个特征是通过数据回答问题\n", "### 哪些名字出现的频率最高? " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
frequency
name
Aaban96
Aabha35
Aabid10
Aabir5
Aabriella26
Aada5
Aadam236
Aadan122
Aadarsh184
Aaden4414
Aadesh15
Aadhav161
Aadhavan30
Aadhi28
Aadhira51
Aadhvik28
Aadhvika9
Aadhya1188
Aadhyan12
Aadi781
Aadian5
Aadil326
Aadin117
Aadish22
Aadison11
Aadit313
Aadith61
Aadithya11
Aaditri37
Aaditya524
......
Zyria356
Zyriah372
Zyrian10
Zyriana30
Zyrianna41
Zyrie25
Zyriel16
Zyrielle27
Zyrihanna45
Zyrin10
Zyrion101
Zyriyah16
Zyron188
Zyrus62
Zysean5
Zyshaun34
Zyshawn146
Zyshon19
Zyshonne101
Zytaevius5
Zytaveon16
Zytavion5
Zytavious43
Zyus5
Zyva8
Zyvion5
Zyvon6
Zyyanna6
Zyyon6
Zzyzx5
\n", "

96174 rows × 1 columns

\n", "
" ], "text/plain": [ " frequency\n", "name \n", "Aaban 96\n", "Aabha 35\n", "Aabid 10\n", "Aabir 5\n", "Aabriella 26\n", "Aada 5\n", "Aadam 236\n", "Aadan 122\n", "Aadarsh 184\n", "Aaden 4414\n", "Aadesh 15\n", "Aadhav 161\n", "Aadhavan 30\n", "Aadhi 28\n", "Aadhira 51\n", "Aadhvik 28\n", "Aadhvika 9\n", "Aadhya 1188\n", "Aadhyan 12\n", "Aadi 781\n", "Aadian 5\n", "Aadil 326\n", "Aadin 117\n", "Aadish 22\n", "Aadison 11\n", "Aadit 313\n", "Aadith 61\n", "Aadithya 11\n", "Aaditri 37\n", "Aaditya 524\n", "... ...\n", "Zyria 356\n", "Zyriah 372\n", "Zyrian 10\n", "Zyriana 30\n", "Zyrianna 41\n", "Zyrie 25\n", "Zyriel 16\n", "Zyrielle 27\n", "Zyrihanna 45\n", "Zyrin 10\n", "Zyrion 101\n", "Zyriyah 16\n", "Zyron 188\n", "Zyrus 62\n", "Zysean 5\n", "Zyshaun 34\n", "Zyshawn 146\n", "Zyshon 19\n", "Zyshonne 101\n", "Zytaevius 5\n", "Zytaveon 16\n", "Zytavion 5\n", "Zytavious 43\n", "Zyus 5\n", "Zyva 8\n", "Zyvion 5\n", "Zyvon 6\n", "Zyyanna 6\n", "Zyyon 6\n", "Zzyzx 5\n", "\n", "[96174 rows x 1 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "baby_names.groupby('name').agg({'frequency': sum})" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
frequency
name
James5159306
John5127501
Robert4829274
Michael4359820
Mary4135851
William4103456
David3613916
Joseph2603475
Richard2570304
Charles2391199
Thomas2306216
Christopher2023318
Daniel1903647
Elizabeth1625783
Matthew1584209
Patricia1576343
George1470933
Jennifer1470081
Linda1455566
Barbara1437865
Anthony1430880
Donald1415938
Paul1390956
Mark1352418
Edward1291786
Steven1282770
Andrew1280459
Kenneth1276188
Margaret1248131
Joshua1198955
......
Luxanna5
Luvonne5
Luvonia5
Luvert5
Luvender5
Luvella5
Lyddia5
Lydya5
Lytzi5
Lyelah5
Lytina5
Lyshon5
Lyrric5
Lyron5
Lynnete5
Lynnessa5
Lynneann5
Lynndsey5
Lyniya5
Lynissa5
Lynis5
Lyndyn5
Lyndsae5
Lynder5
Lynal5
Lyllyan5
Lyllianna5
Lyliann5
Lyjah5
Zzyzx5
\n", "

96174 rows × 1 columns

\n", "
" ], "text/plain": [ " frequency\n", "name \n", "James 5159306\n", "John 5127501\n", "Robert 4829274\n", "Michael 4359820\n", "Mary 4135851\n", "William 4103456\n", "David 3613916\n", "Joseph 2603475\n", "Richard 2570304\n", "Charles 2391199\n", "Thomas 2306216\n", "Christopher 2023318\n", "Daniel 1903647\n", "Elizabeth 1625783\n", "Matthew 1584209\n", "Patricia 1576343\n", "George 1470933\n", "Jennifer 1470081\n", "Linda 1455566\n", "Barbara 1437865\n", "Anthony 1430880\n", "Donald 1415938\n", "Paul 1390956\n", "Mark 1352418\n", "Edward 1291786\n", "Steven 1282770\n", "Andrew 1280459\n", "Kenneth 1276188\n", "Margaret 1248131\n", "Joshua 1198955\n", "... ...\n", "Luxanna 5\n", "Luvonne 5\n", "Luvonia 5\n", "Luvert 5\n", "Luvender 5\n", "Luvella 5\n", "Lyddia 5\n", "Lydya 5\n", "Lytzi 5\n", "Lyelah 5\n", "Lytina 5\n", "Lyshon 5\n", "Lyrric 5\n", "Lyron 5\n", "Lynnete 5\n", "Lynnessa 5\n", "Lynneann 5\n", "Lynndsey 5\n", "Lyniya 5\n", "Lynissa 5\n", "Lynis 5\n", "Lyndyn 5\n", "Lyndsae 5\n", "Lynder 5\n", "Lynal 5\n", "Lyllyan 5\n", "Lyllianna 5\n", "Lyliann 5\n", "Lyjah 5\n", "Zzyzx 5\n", "\n", "[96174 rows x 1 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# James, John, Robert, Micheal, Mary...都是耳熟能详的名字\n", "baby_names.groupby('name').agg({'frequency': sum}).sort_values(by=['frequency'], ascending=[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 每年出生的男孩和女孩的个数分别是多少?" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# 使用pivot_table方法查看(第六节课讲解)\n", "freq_by_gender_year = baby_names.pivot_table(index ='year', columns='gender',\n", " values = 'frequency', aggfunc=sum)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genderFM
year
201217563471892094
201317490611885683
201417794961913434
201517765381907211
201617566471880674
\n", "
" ], "text/plain": [ "gender F M\n", "year \n", "2012 1756347 1892094\n", "2013 1749061 1885683\n", "2014 1779496 1913434\n", "2015 1776538 1907211\n", "2016 1756647 1880674" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 使用tail方法查看最近几年出生人数\n", "freq_by_gender_year.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 数据可视化往往是数据分析的第一步" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 一行命令即可做出高质量图形\n", "freq_by_gender_year.plot(title='Frequency by year and gender')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 起名趋势分析" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "增加一个变量rank,这个是根据年份性别依据名字出现频率所产生的次序" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "baby_names['ranked'] = baby_names.groupby(['year', 'gender'])['frequency'].rank(ascending=False)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
namegenderfrequencyyearranked
0MaryF706518801.0
1AnnaF260418802.0
2EmmaF200318803.0
3ElizabethF193918804.0
4MinnieF174618805.0
5MargaretF157818806.0
6IdaF147218807.0
7AliceF141418808.0
8BerthaF132018809.0
9SarahF1288188010.0
\n", "
" ], "text/plain": [ " name gender frequency year ranked\n", "0 Mary F 7065 1880 1.0\n", "1 Anna F 2604 1880 2.0\n", "2 Emma F 2003 1880 3.0\n", "3 Elizabeth F 1939 1880 4.0\n", "4 Minnie F 1746 1880 5.0\n", "5 Margaret F 1578 1880 6.0\n", "6 Ida F 1472 1880 7.0\n", "7 Alice F 1414 1880 8.0\n", "8 Bertha F 1320 1880 9.0\n", "9 Sarah F 1288 1880 10.0" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "baby_names.head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "计算每个名每年按性别占总出生人数的百分比\n", "\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "def add_pct(group):# 自定义函数,第三节课讲解\n", " group['pct'] = group.frequency / group.frequency.sum()*100\n", " return group\n", "\n", "# groupby和apply函数在课程第二部分讲解\n", "baby_names = baby_names.groupby(['year', 'gender']).apply(add_pct) " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
namegenderfrequencyyearrankedpct
0MaryF706518801.07.764419
1AnnaF260418802.02.861790
2EmmaF200318803.02.201292
3ElizabethF193918804.02.130957
4MinnieF174618805.01.918850
\n", "
" ], "text/plain": [ " name gender frequency year ranked pct\n", "0 Mary F 7065 1880 1.0 7.764419\n", "1 Anna F 2604 1880 2.0 2.861790\n", "2 Emma F 2003 1880 3.0 2.201292\n", "3 Elizabeth F 1939 1880 4.0 2.130957\n", "4 Minnie F 1746 1880 5.0 1.918850" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 查看新加的百分比(pct)\n", "baby_names.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 首先查看每先查看每年最流行的名字所占百分比趋势" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "将数据分为男孩和女孩" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "dff = baby_names[baby_names.gender == 'F'] #逻辑判断 ==, 第二节课讲解\n", "dfm = baby_names[baby_names.gender == 'M']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "获取每年排名第一的名字" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "rank1m = dfm[dfm.ranked == 1]\n", "rank1f = dff[dff.ranked == 1]" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(rank1m.year, rank1m.pct, color=\"blue\", linewidth = 2, label = 'Boys')\n", "plt.fill_between(rank1m.year, rank1m.pct, color=\"blue\", alpha = 0.1, interpolate=True)\n", "plt.xlim(1880,2012)\n", "plt.ylim(0,9)\n", "plt.xticks(scipy.arange(1880,2012,10), rotation=70)\n", "plt.title(\"Popularity of #1 boys' name by year\", size=18, color=\"blue\")\n", "plt.xlabel('Year', size=15)\n", "plt.ylabel('% of male births', size=15)\n", "plt.show()\n", "plt.close()\n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nHto4AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(rank1f.year, rank1f.pct, color=\"red\", linewidth = 2, label = 'Girls')\n", "plt.fill_between(rank1f.year, rank1f.pct, color=\"red\", alpha = 0.1, interpolate=True)\n", "plt.xlim(1880,2012)\n", "plt.ylim(0,9)\n", "plt.xticks(scipy.arange(1880,2012,10), rotation=70)\n", "plt.title(\"Popularity of #1 girls' name by year\", size=18, color=\"red\")\n", "plt.xlabel('Year', size=15)\n", "plt.ylabel('% of female births', size=15)\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 最流行每年名字所占百分比呈现递减趋势,是什么原因造成的呢?我们将在后续课程中分析!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 在以上例子中,我们主要使用了python的可视化功能,以后我们还会介绍经典的统计/机器学习模型来更好得洞察数据中信息。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }