使用Python制作疫情数据分析可视化图表(二)

2020-12-25 10:12:25 浏览数 (1)

参考链接: 使用Python进行数据分析和可视化2

python小白,在“一心学”公众号学习了一点疫情数据分析可视化的课程,记录下来,供小白参考。 

目录 一、基本数据的查看和初步处理 二、时间序列与区域划分 三、快速查看不同省市疫情现状 四、累计确诊病例走势 五、不同省市确诊新增情况 六、全国疫情动态可视化 七、制作数据地图 八、如何用气泡图制作数据地图 

第一章内容发布在(使用Python制作疫情数据分析可视化图表(一))https://blog.csdn.net/yue__yang/article/details/104538235,请自行食用。 

二、时间序列与区域划分 

1、数据类型转换为时间序列 在数据中,有一个字段是“date”,但是它的数据类型是整型(int),需要将其转换为日期的格式。查看字段数据类型的代码如下: 

#读取数据

import pandas as pd

df = pd.read_excel('data_ncov.xlsx')

#查看字段类型

df['date'].dtype

先将int转换为string,再转换为datetime的格式 

df['date'] = df['date'].astype('str')

df['date'] = pd.to_datetime(df['date'])

#再次查看数据基本情况

df.info()

也可以写成一行: 

df['date'] = pd.to_datetime(date['date'].astype('str'))

2、为什么需要时间序列? 时间数据是可以按照年、月、日、时、分、秒进行聚合运算的,这可以让一眼看上去没什么规律的杂乱数据按照时间顺序排列起来。有了时间数据,数据就更适合研究一段时间内的变化。 

还可以做一些更深的数据挖掘,比如时间序列分析等。 

3、按照日期提取数据 例如,我需要提取2020年2月1日的数据: 

data_0201 = df[df['date'] == '2020-2-1]

4、按照地区提取数据——判断索引逻辑 如果想要提取某一省市的数据,同样使用判断索引的方法,例如,我需要获取“湖北省”、“上海市”的数据可以这样写: 

data_hb = df[df['省市'] == '湖北省']

data_sh = df[df['省市'] == '上海市']

5、按照地区提取数据——汇总统计逻辑 如果我们想要分别提取“全国”、“非湖北省”的数据,就不是进行判断索引了,而是需要对现有数据做统计分析求和: 

“全国”数据应该时按照 date 字段做求和,代表不同日期的数据情况“非湖北省”数据,应当先按照 省市 字段筛选,再按照 date 字段求和 

#提取全国数据

data_china = df.gruopby('date')['疑似', '确诊', '死亡']

#提取非湖北省数据

data_nothb_all = df[df['省市'] != '湖北省']

data_nothb = data_nothb_all.gruopby('date')['疑似', '确诊', '死亡'].sum()

#查看数据

data_china.head()

data_nothb.head()

注意,这里用到了pandas.DataFrame.gruopby()函数,它可以: 

根据某些条件将数据拆分成组对每个组独立应用函数将结果合并到一个数据结构中 

特别注意pandas.DataFrame.gruopby()函数只做数据的分组,不做计算,一般不会单独出现,而是在后方会跟上一个聚合函数进行计算,例如这里的data_nothb_all.gruopby(‘date’)[‘疑似’, ‘确诊’, ‘死亡’].sum() 

本章结束,到此的数据分析思路总结如下: 1、查看数据的基本情况,特别注意时间数据的格式类型 2、将数据类型转换为需要的格式 3、思考需要进行分析的问题,针对问题构思需要提取或者分组的数据字段,以及需不需要进行聚合操作

0 人点赞