一、内容来源
任务:分析处理天气数据,并计算出PM指数年均变化情况
数据集分享:链接:https://pan.baidu.com/s/1nU29LEfrILve3-ERqccUTQ
提取码:6ptf
二、数据信息
三、代码
import numpy as np
import pandas as pd
import time
#1 读取数据
filename = 'ShenyangPM20100101_20151231.csv'
#df = pd.read_csv(filename,encoding='utf-8',dtype=str)
#df = pd.read_csv(filename,encoding='utf-8')
df = pd.read_csv(filename,encoding='utf-8',usecols=[0,1,2,3,4,5,6,7,8])
#2 查看数据基本情况
print('head--------------------------------\n',df.head())
print('deacribe----------------------------\n',df.describe())
print('info--------------------------------\n',df.info())
#3 参看缺失值
print('==============缺失值=================\n',
df.isnull().sum().sort_values(ascending=False))
#对列进行删除
#df.drop(['DEWP','HUMI'],axis=1,inplace=True)
#删除某些行
#df.dropna (axis='index', how='all', subset=['PM_Taiyuanjie','PM_US Post','PM_Xiaoheyan'],inplace=True)
#4 计算
#df['sum'] = df['PM_Taiyuanjie']+df['PM_US Post']+df['PM_Xiaoheyan']
start = time.time()
df['sum'] = df[['PM_Taiyuanjie','PM_US Post','PM_Xiaoheyan']].sum(axis=1)
df['count'] = df[['PM_Taiyuanjie','PM_US Post','PM_Xiaoheyan']].count(axis=1)
df['ave'] = round(df['sum']/df['count'],2)
end = time.time()
print(end-start)
#5 输出到文件
df.to_csv('shenyang_ave.csv')
print(df.groupby('year').mean())
实验结果:
2013-2015年,就PM指数而言,天气有变好的趋势