天天看点

【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原位与复制