'''
需求: 匯入檔案,檢視原始資料
將人口資料和各州簡稱資料進行合併
將合併的資料中重複的abbreviation列進行刪除
檢視存在缺失資料的列
找到有哪些state/region使得state的值為nan,進行去重操作
為找到的這些state/region的state項補上正確的值,從而去除掉state這一列的所有nan
合併各州面積資料areas
我們會發現area(sq.mi)這一列有缺失資料,找出是哪些行
去除含有缺失資料的行
找出2023年的全民人口資料
計算各州的人口密度
排序,並找出人口密度最高的五個州 df.sort_values()
'''import numpy as np
import pandas as pd
# 匯入檔案,檢視原始資料
# 將人口資料和各州簡稱資料進行合併
s_abbrevs = pd.read_csv(
'../datasets/state-abbrevs.csv'
)print
(s_abbrevs.head())
s_population = pd.read_csv(
'../datasets/state-population.csv'
)print
(s_population.head())
s_areas = pd.read_csv(
'../datasets/state-areas.csv'
)print
(s_areas.head())
# 將合併的資料中重複的abbreviation列進行刪除
abb_pop = pd.merge(s_abbrevs, s_population, left_on=
'abbreviation'
, right_on=
'state/region'
, how=
'outer'
)print
(abb_pop.head())
abb_pop = abb_pop.drop(columns=
'abbreviation'
)# 檢視存在缺失資料的列
'''state true
abbreviation true
state/region false
ages false
year false
population true
'''print
(abb_pop.isnull().
any(axis=0)
)# 找到有哪些state/region使得state的值為nan,進行去重操作
print
(abb_pop[abb_pop[
'state'
].isnull()]
['state/region'
].unique())
# ['pr' 'usa']
index_pr = abb_pop[abb_pop[
'state/region']==
'pr'
].index
print
(index_pr)
# 為找到的這些state/region的state項補上正確的值,從而去除掉state這一列的所有nan
abb_pop.loc[index_pr,
'state']=
'puerto'
index_usa = abb_pop[abb_pop[
'state/region']==
'usa'
].index
print
(index_usa)
# 為找到的這些state/region的state項補上正確的值,從而去除掉state這一列的所有nan
abb_pop.loc[index_usa,
'state']=
'america'
print
(abb_pop[abb_pop[
'state/region']==
'pr'
].head())
print
(abb_pop[abb_pop[
'state/region']==
'usa'
].head())
print
(abb_pop.isnull().
any(axis=0)
)# 合併各州面積資料areas
areas_abb_pop = pd.merge(s_areas, abb_pop, left_on=
'state'
, right_on=
'state'
, how=
'outer'
)print
(areas_abb_pop.head())
areas_abb_pop.set_index(
'state'
, inplace=
true
)# 我們會發現area(sq.mi)這一列有缺失資料,找出是哪些行
print
(areas_abb_pop.isnull().
any(axis=0)
)# 去除含有缺失資料的行
areas_abb_pop.dropna(inplace=
true
)# 找出2023年的全民人口資料
query_2010 = areas_abb_pop.query(
'ages == "total" & year == 2010'
)print
(query_2010.head())
# 計算各州的人口密度
midu = query_2010[
'population'
]/ query_2010[
'area (sq. mi)'
]print
(midu)
midu = midu.sort_values(ascending=
true
)# 排序,並找出人口密度最高的五個州 df.sort_values()
print
(midu.sort_values(
).tail())
# 排序,並找出人口密度最低的五個州 df.sort_values()
print
(midu.sort_values(
).head(
))
趙本山給美國人測智商
趙本山 天也不早了,人也不少了,你們的歲數也不小了,這智商也該考了!高秀敏 春節坑人不算多,去年賣拐今年賣車,這美國的日子挺不錯,折騰折騰這幫傻大個兒!趙本山 第一號艾弗森,請聽題。說你有乙個私生子,今年剛6歲,以前他從沒見過你,現在你和一大幫人去看他,他一下子就撲到你的懷裡,叫你爸爸。這是咋回事?...
美國人太囂張 爆笑呀!
下面是乙份真實的海上無線電通訊的副本,記錄了在加拿大紐芬蘭島附近海域,一艘美 艦和加拿大人的對話。美方 為了避免相撞,請將你們的航向向北調整15度。完畢。加方 為了避免相撞,我們要求你們將航向向南調整15度。完畢。美方 這是一艘美國戰艦的艦長在和你們通話,我再說一遍,請你們調整航向!加方 重複,請你...
美國人這樣教育小學生
當我把九歲的兒子帶到美國,送他進那所離公寓不遠的美國小學的時候,我就象是把自己最心愛的東西交給了乙個我並不信任的人去保管,終日憂心忡忡。這是一種什麼樣的學校啊!學生可以在課堂上放聲大笑,每天至少讓學生玩二個小時,下午不到三點就放學回家,最讓我大開眼界的是沒有教科書。那個金髮碧眼的美國女教師看見了我兒...