注:使用软件版本为anaconda3-4-3.1
#python常用基础包
import matplotlib.pyplot as plt
import pylab as py
import math as m
import scipy.stats as stats
import numpy as np
import pandas as pd
#加载1880年的数据,并以name、sex、births为列
names1880=pd.read_csv('names/yob1880.txt',names=['name','sex','births'])
names1880.head()
#计算1880年男女出生人数(以sex为行,对births求和)
names1880.groupby(['sex']).births.sum()
# names1880.groupby(['sex']).sum()
#将历年数据整合并添加‘year’列
years=range(1880,2011)
pieces=[]
columns=['name','sex','births']
for year in years:
path='names/yob%d.txt' %year
frame=pd.read_csv(path,names=columns)
frame['year']=year
pieces.append(frame)
names=pd.concat(pieces,ignore_index=True)
names.head()
#按年份统计男女的总出生人数
total_births=names.pivot_table('births',index='year',columns='sex',aggfunc=sum)
#total_births.head()
total_births.plot()
plt.show()
#添加每年每个名字在对应性别中的比例
def add_prop(group):
births=gr