下面所用到的数据(可下载)
可点击下载
所用数据文件
state-abbrevs.csv
state-areas.csv
state-population.csv
要求 1、文件导入并查看数据样本
操作 1、导入csv文件
>>> df_abbr = pd.read_csv('./data/state-abbrevs.csv')
>>> df_abbr #美国各州的名称和缩写
state abbreviation
0 Alabama AL
1 Alaska AK
2 Arizona AZ
3 Arkansas AR
4 California CA
5 Colorado CO
6 Connecticut CT
7 Delaware DE
。。。。。
>>> df_areas = pd.read_csv('./data/state-areas.csv')
>>> df_areas #美国各州面积
state area (sq. mi)
0 Alabama 52423
1 Alaska 656425
2 Arizona 114006
3 Arkansas 53182
4 California 163707
5 Colorado 104100
6 Connecticut 5544
7 Delaware 1954
。。。。
美国各周及国家各年人口总数
#这里数据较多,我们取前后各5个样本
>>> df_popu = pd.read_csv('./data/state-population.csv')
>>> df_popu.tail() #后5个样本
state/region ages year population
2539 USA total 2010 309326295.0
2540 USA under18 2011 73902222.0
2541 USA total 2011 311582564.0
2542 USA under18 2012 73708179.0
2543 USA total 2012 313873685.0
>>> df_popu.head() #前5个样本
state/region ages year population
0 AL under18 2012 1117489.0
1 AL total 2012 4817528.0
2 AL under18 2010 1130966.0
3 AL total 2010 4785570.0
4 AL under18 2011 1125763.0
要求2、合并popu与abbrevs两个DataFrame,分别依据state/region列和abbreviation列来合并。
操作 2、根据state/region列和abbreviation列来合并两表
为了保留所有信息,使用外合并 ‘outer’
>>> df1 = pd.merge(df_popu,df_abbr,how='outer',left_on='state/region',right_on='abbreviation') #根据州名缩写合并人口表和各州名称表
'''
left_on:左边根据哪一列合并
right_on:右边根据哪一列合并
'''
#合并后数据比较多 [2544 rows x 6 columns]
#所以拿出来前五,后五个样本来展示
>>> df1.head()
state/region ages year population state abbreviation
0 AL under18 2012 1117489.0 Alabama AL
1 AL total 2012 4817528.0 Alabama AL
2 AL under18 2010 1130966.0 Alabama AL
3 AL total 2010 4785570.0 Alabama AL
4 AL under18 2011 1125763.0 Alabama AL
>>> df1.tail()
state/region ages year population state abbreviation
2539 USA total 2010 309326295.0 NaN NaN
2540 USA under18 2011 73902222.0 NaN NaN
2541 USA total 2011 311582564.0 NaN NaN
2542<