import pandas as pd
import numpy as py
import datetime
import matplotlib.pyplt as plt
元数据为最近一周(18.11.20-18.11.27)的每小时空气质量数据。。
#读文件为dataframe
data=pd.read_csv("D:\hello\\air.csv", encoding =' gb2312')
1:拿到文件我们可以先观察数据的基本信息
print(data.info())
以上可以看数据的基本信息,列名,数据类型,多少行等信息。
2:查看每一列大概是什么数据,head是前几行数据默认是前五行,你也可以自定义8,10都可以。tail是后几行数据,同理head。
print(data.head())
以上让我们对数据有个大概的认知。
3:我们可以查看某一列的具体数据,data[ ],[ ]里面为列名或者字段名(别忘加引号哦)
print(data["AQI指数"] )
总之很长啦,截取一部分贴出来。
4:既然看了一列的信息,我们当然也要看一行的信息啦。下面查看某行的信息,可自定义
print(data.loc[2])
我选的第三行的信息。(注意:有个data.iloc()与之类似,具体后面会说到)。嗯,继续
5:刚刚说到查看某列数据,那我们也可以查看多列数据
print(data[["城市","AQI指数","日期"]])
随机截取了三列的数据。看了多列,多行也要写出来。。
6:看了多列,多行写出来了。。
print(data.loc[4:10])
选取了第5到11行的数据。
好了,上面简单的介绍了行行列列的数据操作。下面继续说点别的呀!
7:我想看看 这一周空气质量级别每个类型各有多少小时?
print(data["空气质量级别"].value_counts())
哈哈哈,很棒哦。一下就统计出来了,级别优良的时长可还行???
8:再来看一个类似的。。。看看本周首要污染物每个类型共占据了多久?
print(data.groupby("首要污染物").size())
PM2.5。。。!!一周之内检测的细微颗粒物,PM2.5有88个小时哦。。
9:下面我在看一周之内,每个小时AQI指数一共多少?
data["hour"]=None
li=[]
for i in data["日期"]:
i=datetime.strptime(i, "%Y-%m-%d %H:%M:%S")
li.append(i.hour)
data["hour"]=li
print(data["AQI指数"].groupby(data["hour"]).sum())
篇幅原因,截取了0-12.的数据,貌似看不出什么。。。下面我们把图画出来可以清晰看到呈现什么特点。。
10:开始画图,简单的曲线图,两行即可展现。。
A_H=data["AQI指数"].groupby(data["hour"]).sum()
A_H.plot()
plt.show()
横坐标时间点,纵坐标是小时的AQI指数和。看看曲线大概7.开始上升,到9.左右达到高峰,然后慢慢下降;13.是最低峰;15.开始指数又开始急剧上升,到18.达到高峰。
这个应该可以片面反应AQI指数和人们的出行有关吧。上班高峰,污染指数相对就高一些;低峰就相对低一些。面对污染越来越严重的现在,嗯,大家还是要多乘坐公共交通工具。
这个就写这么多吧,知识是无穷的,明天继续努力。。。。。