Python数据分析案例三:1880-2010年间全美婴儿姓名数据分析

本案例基于《利用Python进行数据分析·第2版》,详述如何分析1880年至2010年间的全美婴儿姓名数据。流程包括数据整合、聚合作图、比例分析、命名趋势探讨、命名多样性的评估以及名字末尾字母比例变化和特定名称在性别中的分布等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**一:介绍**

该案例来自《利用Python进行数据分析·第2版》,主要对1880-2010年间全美婴儿姓名进行分析。
二:分析流程
1:读取数据:因为一个年份有一张表,将所有的表信息合成一张以便后续分析。

years = range(1880,2011)
piece = []
columns = ['name','sex', 'births']

将每年的文件转为DataFrame

for year in years:
    path = 'C:/Users/17322/Desktop/datasets/babynames/yob%d.txt' %year
    frame = pd.read_csv(path, names=columns)
    frame['year']= year
    piece.append(frame)

合成一张

names = pd.concat(piece, ignore_index=True)

2:利用映射表进行聚合作图

total_births = names.pivot_table('birth',index = 'year', columns = 'sex',aggfunc='sum')
total_births.plot(title = 'Total births per year')

在这里插入图片描述
3:分析放指定名字的婴儿数相对于总出生数的比例

  • 添加proportion列
def add_prop(group):
    group['prop'] = group.birth / group.birth.sum()
    return group
names = names.groupby(['year','sex']).apply(add_prop)

在这里插入图片描述
4:取子集:取出每个group前n列

def get_n(group,n):
    return group.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值