天天看點

【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)

【Python資料分析與處理 實訓04】— 探索1960 - 2014美國犯罪資料(時間序列處理應用)

探索1960 - 2014美國犯罪資料資訊

對于下面的資料集進行簡單的一些資料的分析訓練

【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)
若需要源資料請私信~

1.将資料框命名為crime

crime = pd.read_csv('G:/Projects/pycharmeProject/大資料比賽/泰迪智能科技/data/US_Crime_Rates_1960_2014.csv',sep=",",index_col=0)
print(crime)      

2.每一列(columns)的資料類型是什麼

print(crime.dtypes)      
【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)

3.将Year資料類型轉換為datatime64

crime['Year'] = pd.to_datetime(crime['Year'])
print(crime.dtypes)      
【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)
【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)

進一步優化

crime['Year'] = pd.to_datetime(crime['Year'],format="%Y")      
【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)

4.将列Year設定為資料框的索引

crime.set_index('Year',inplace=True)      
【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)

5.删除名為Total的列

crime.drop('Total',axis=1,inplace=True)      
這部分容易出錯,參見本人部落格:​​KeyError: “[‘xxxx‘] not found in axis“​​
【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)

6.按照Year(每十年)對資料框進行分組并求和

print(crime.resample('10AS').sum())      

這裡涉及時間資料的操作運用到了resample方法:在pandas裡對時序的頻率的調整稱之重新采樣,即從一個時頻調整為另一個時頻的操作。

參見本人部落格:​​Python----資料分析-pandas.時間序列​​大佬文章:​​Pandas的時間序列資料-resample重采樣​​pandas官方文檔:​​pandas.DataFrame.resample​​

【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)

7.何時是美國曆史上生存最危險的年代

# 計算人口增長率
print(crime['Population'].diff())       # 求取一階內插補點
print(crime['Population'].diff()[1:])   # 取出已知增長人數資料
print(crime['Population'].values[:-1])  # 取出60-13年人口資料
print(crime['Population'].diff()[1:]/crime['Population'].values[:-1]) # 計算人口增長率
print((crime['Population'].diff()[1:]/crime['Population'].values[:-1]).idxmin()) # 得出人口增長率最低的一年      
【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)
【Python資料分析與處理 實訓04】--- 探索1960 - 2014美國犯罪資料(時間序列處理應用)
上一篇: d原位與複制