方便大家操作,將月份和參選人以及所在政黨進行定義:
months = {'JAN': 1, 'FEB': 2, 'MAR': 3, 'APR': 4, 'MAY': 5, 'JUN': 6,
'JUL': 7, 'AUG': 8, 'SEP': 9, 'OCT': 10, 'NOV': 11, 'DEC': 12}
of_interest = ['Obama, Barack', 'Romney, Mitt', 'Santorum, Rick','Paul, Ron', 'Gingrich, Newt']
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'
}
完成下列需求:
1.讀取檔案usa_election.txt 2.查看檔案樣式及基本資訊 3.【知識點】使用map函式+字典,新建一列各個候選人所在黨派party 4.使用np.unique()函式查看colums:party這一列中有哪些元素 5.使用value_counts()函式,統計party列中各個元素出現次數,value_counts()是Series中的,無參,回傳一個帶有每個元素出現次數的Series 6.【知識點】使用groupby()函式,查看各個黨派收到的政治獻金總數contb_receipt_amt 7.查看具體每天各個黨派收到的政治獻金總數contb_receipt_amt,使用groupby([多個分組引數]) 8.將表中日期格式轉換為'yyyy-mm-dd',日期格式,通過函式加map方式進行轉換 9.查看老兵(捐獻者職業)DISABLED VETERAN主要支持誰 :查看老兵們捐贈給誰的錢最多 10.找出各個候選人的捐贈者中,捐贈金額最大的人的職業以及捐贈額,通過query("查詢條件來查找捐獻人職業")
1.讀取檔案usa_election.txt
data = https://www.cnblogs.com/aitree/p/pd.read_csv('./data/usa_election.txt') data.head()
2.查看檔案樣式及基本資訊

3.【知識點】使用map函式+字典,新建一列各個候選人所在黨派party
data['party'] = data['cand_nm'].map(parties) data.head()
4.使用np.unique()函式查看colums:party這一列中有哪些元素
data['party'].unique() --回傳Array([])陣列
5.使用value_counts()函式,統計party列中各個元素出現次數,value_counts()是Series中的,無參,回傳一個帶有每個元素出現次數的Series
data['party'].value_counts() --回傳元素和次數
6.【知識點】使用groupby()函式,查看各個黨派收到的政治獻金總數contb_receipt_amt
data.groupby(by='party',axis=0)['contb_receipt_amt'].sum()
7.查看具體每天各個黨派收到的政治獻金總數contb_receipt_amt,使用groupby([多個分組引數])
data.groupby(by=['contb_receipt_dt','party'],axis=0)['contb_receipt_amt'].sum()
8.將表中日期格式轉換為'yyyy-mm-dd',日期格式,通過函式加map方式進行轉換
def transform_date(d): day,month,year = d.split('-') month = months[month] return '20'+year+'-'+str(month)+'-'+day # date = data['contb_receipt_dt'].apply(transform_date) date = data['contb_receipt_dt'].map(transform_date) data['contb_receipt_dt'] = date data.head()
9.查看老兵(捐獻者職業)DISABLED VETERAN主要支持誰 :查看老兵們捐贈給誰的錢最多
# 1.先從原資料中將老兵這個職業對應的行資料取出 data['contbr_occupation'] == 'DISABLED VETERAN' veteran_df = data.loc[data['contbr_occupation'] == 'DISABLED VETERAN'] veteran_df.head() # 2.對竟選者進行分組 veteran_df.groupby(by='cand_nm',axis=0)['contb_receipt_amt'].sum()
10.找出各個候選人的捐贈者中,捐贈金額最大的人的職業以及捐贈額,通過query("查詢條件來查找捐獻人職業")
# 1.先找出捐贈金額最大的人 data['contb_receipt_amt'].max() # 2.然后直接使用條件查詢出結果 data.query('contb_receipt_amt == %f'%data['contb_receipt_amt'].max())
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/252462.html
標籤:Python

