日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据分析之练习一

發布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据分析之练习一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  一、人口分析

  現在有三個文本文件,state-abbrevs.csv存放的是每個州的名字及簡寫;state-areas.csv存放的州名和占地面積;state-population.csv存放的州名簡寫和人口信息。

  1,題目要求

- 導入文件,查看原始數據- 將人口數據和各州簡稱數據進行合并- 將合并的數據中重復的abbreviation列進行刪除- 查看存在缺失數據的列- 找到有哪些state/region使得state的值為NaN,進行去重操作- 為找到的這些state/region的state項補上正確的值,從而去除掉state這一列的所有NaN- 合并各州面積數據areas- 我們會發現area(sq.mi)這一列有缺失數據,找出是哪些行- 去除含有缺失數據的行- 找出2010年的全民人口數據- 計算各州的人口密度- 排序,并找出人口密度最高的五個州 df.sort_values()

  2,導入文件,查看每個表的數據

import numpy as np from pandas import DataFrame,Series import pandas as pdf1=pd.read_csv('state-abbrevs.csv') f2=pd.read_csv('state-areas.csv') f3=pd.read_csv('state-population.csv')

  3,將人口數據和各州的簡稱數據合并,然后把重復的列給刪除

f4=pd.merge(f1,f3,left_on='abbreviation',right_on='state/region',how='outer') f5=f4.drop(labels='abbreviation',axis=1) f5.head()

  4,查看存在缺失數據的列

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

  5,找出缺失‘state’數據的州的簡稱

f5.loc[f5['state'].isnull()]['state/region'].unique()

  6,給缺失的‘state’補上對應的值

indexs1=f5.loc[f5['state/region']=='PR'].index f5.loc[indexs1,'state']='prorrrr' indexs2=f5.loc[f5['state/region']=='USA'].index f5.loc[indexs2,'state']='unista'

  7,合并各州面積數據

f6=pd.merge(f5,f2,on='state') f6.head()

  8,找出缺失area的行,然后刪除

con = f6['area (sq. mi)'].isnull() indexs = f6.loc[con].index f6.drop(labels=indexs,axis=0,inplace=True)

  9,找出2010年的全民人口數據

f7=f6.query('year==2010 & ages=="total"') f7.head()

  10,計算各州的人口密度

f7['ss']=f7['population']/f7['area (sq. mi)'] f7.head()

  11,排序,找出人口密度最高的前5個

f7.sort_values('ss',axis=0,ascending=False).head()

  二、總統候選人政治獻金數據分析

  現在有一個usa_election.txt文本文件,存放的是總統候選人政治獻金的相關數據。

  1,題目要求

1.讀取文件usa_election.txt2.查看文件樣式及基本信息3.【知識點】使用map函數+字典,新建一列各個候選人所在黨派party4.使用np.unique()函數查看colums:party這一列中有哪些元素5.使用value_counts()函數,統計party列中各個元素出現次數,value_counts()是Series中的,無參,返回一個帶有每個元素出現次數的Series6.【知識點】使用groupby()函數,查看各個黨派收到的政治獻金總數contb_receipt_amt 7.查看具體每天各個黨派收到的政治獻金總數contb_receipt_amt 。使用groupby([多個分組參數]) 8. 將表中日期格式轉換為'yyyy-mm-dd'。日期格式,通過函數加map方式進行轉換
9.查看老兵(捐獻者職業)DISABLED VETERAN主要支持誰 :查看老兵們捐贈給誰的錢最多

  2,讀取文件

usa_election=pd.read_csv('./data/usa_election.txt') usa_election.head()

  3,新建一列為各候選人所在黨派party

parties = {'Bachmann, Michelle': 'Republican','Romney, Mitt': 'Republican','Obama, Barack': 'Democrat',"Roemer, Charles E. 'Buddy' III": 'Reform','Pawlenty, Timothy': 'Republican','Johnson, Gary Earl': 'Libertarian','Paul, Ron': 'Republican','Santorum, Rick': 'Republican','Cain, Herman': 'Republican','Gingrich, Newt': 'Republican','McCotter, Thaddeus G': 'Republican','Huntsman, Jon': 'Republican','Perry, Rick': 'Republican' } usa_election['party']=usa_election['cand_nm'].map(parties) usa_election.head()

  4,查看所有候選人共幾個黨派,及各黨派出現過多少次

usa_election['party'].unique()
usa_election['party'].value_counts()

  5,查看各黨派收到的政治獻金總數,查看每天各黨派收到的政治獻金總數

usa_election.groupby(by='party')['contb_receipt_amt'].sum()
usa_election.groupby(['party','contb_receipt_dt'])['contb_receipt_amt'].sum()

  6,把日期格式轉化為數字格式,如“2013-11-12”

def transform_date(date):day,mon,year = date.split('-')month = months[mon]return '20'+year + '-' + str(month) + '-' + dayusa_election['contb_receipt_dt'] = usa_election['contb_receipt_dt'].map(transform_date)

  7,查看老兵(職業為DISABLED VETERAN)支持誰,給誰捐款最多

old_bing=usa_election.loc[usa_election['contbr_occupation'] == 'DISABLED VETERAN'] old_bing.groupby('cand_nm')['contb_receipt_amt'].sum()

轉載于:https://www.cnblogs.com/12345huangchun/p/10420726.html

總結

以上是生活随笔為你收集整理的数据分析之练习一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。