資料分析之分析美國人口

2022-03-05 21:05:20 字數 2986 閱讀 9173

資料

需求:

匯入檔案,檢視原始資料

將人口資料和各州簡稱資料進行合併

將合併的資料中重複的abbreviation列進行刪除

檢視存在缺失資料的列

找到有哪些state/region使得state的值為nan,進行去重操作

為找到的這些state/region的state項補上正確的值,從而去除掉state這一列的所有nan

合併各州面積資料areas

我們會發現area(sq.mi)這一列有缺失資料,找出是哪些行

去除含有缺失資料的行

找出2023年的全民人口資料

計算各州的人口密度

排序,並找出人口密度最高的五個州 df.sort_values()

import

numpy as np

from pandas import

dataframe,series

import

pandas as pd

abb = pd.read_csv('

./data/state-abbrevs.csv')

pop = pd.read_csv('

./data/state-population.csv')

area = pd.read_csv('

./data/state-areas.csv')

#將人口資料和各州簡稱資料進行合併

abb_pop = pd.merge(abb,pop,left_on='

abbreviation

',right_on='

state/region

',how='

outer')

#將合併的資料中重複的abbreviation列進行刪除

abb_pop.drop(labels='

abbreviation

',axis=1,inplace=true)

#檢視存在缺失資料的列

abb_pop.isnull().any(axis=0)

#找到有哪些state/region使得state的值為nan,進行去重操作

abb_pop.head(5)

#1.找出state中的空值

abb_pop['

state

'].isnull()

#2.將布林值作為元資料的行索引:定位到所有state為空對應的行資料

abb_pop.loc[abb_pop['

state

'].isnull()]

#3.將空對應的行資料中的簡稱這一列的資料取出進行去重操作

abb_pop.loc[abb_pop['

state

'].isnull()]['

state/region

'].unique()

#為找到的這些state/region的state項補上正確的值,從而去除掉state這一列的所有nan

#1.找出usa對應state列中的空值

abb_pop['

state/region

'] == '

usa'

#2.取出usa對應的行資料

abb_pop.loc[abb_pop['

state/region

'] == '

usa'

]indexs = abb_pop.loc[abb_pop['

state/region

'] == '

usa'

].index

#3.將usa對應的空值覆蓋成對應的值

abb_pop.loc[indexs,'

state

'] = '

united states

'abb_pop[

'state/region

'] == 'pr'

abb_pop.loc[abb_pop[

'state/region

'] == 'pr'

]indexs = abb_pop.loc[abb_pop['

state/region

'] == 'pr'

].index

abb_pop.loc[indexs,

'state

'] = '

ppprrr'#

合併各州面積資料areas

abb_pop_area = pd.merge(abb_pop,area,how='

outer')

abb_pop_area.head()

#我們會發現area(sq.mi)這一列有缺失資料,找出是哪些行

#去除含有缺失資料的行

abb_pop_area['

area (sq. mi)

'].isnull()

abb_pop_area.loc[abb_pop_area[

'area (sq. mi)

'].isnull()]

indexs = abb_pop_area.loc[abb_pop_area['

area (sq. mi)

'].isnull()].index

abb_pop_area.drop(labels=indexs,axis=0,inplace=true)

#找出2023年的全民人口資料

df_2010 = abb_pop_area.query('

year == 2010 & ages == "total"')

#計算各州的人口密度

abb_pop_area['

midu

'] = abb_pop_area['

population

'] / abb_pop_area['

area (sq. mi)']

abb_pop_area.head(1)#排序

abb_pop_area.sort_values(by='

midu

',axis=0,ascending=false)

pandas 例項操作 美國人口案例分析

需求 匯入檔案,檢視原始資料 將人口資料和各州簡稱資料進行合併 將合併的資料中重複的abbreviation列進行刪除 檢視存在缺失資料的列 找到有哪些state region使得state的值為nan,進行去重操作 為找到的這些state region的state項補上正確的值,從而去除掉stat...

美國各州人口資料分析

需求 匯入檔案,檢視原始資料 將人口資料和各州簡稱資料進行合併 將合併的資料中重複的abbreviation列進行刪除 檢視存在缺失資料的列 找到有哪些state region使得state的值為nan,進行去重操作 為找到的這些state region的state項補上正確的值,從而去除掉stat...

資料分析之分布分析

aggresult data.groupby by 年齡 年齡 agg 可以看到分組已經成功,但是結果不直觀,從結果反映不出每個年齡的人數 進行數值分段處理 bins min data.年齡 1,20,30,40,max data.年齡 1 labels 20歲及以下 21歲到30歲 31歲到40歲...