Python天气数据处理、数据清洗

您所在的位置:网站首页 基于python的气象数据分析未来15天 Python天气数据处理、数据清洗

Python天气数据处理、数据清洗

2024-07-08 01:33| 来源: 网络整理| 查看: 265

文章目录

前言

一、获取原始数据

二、数据处理

1.代码

2.处理结果

总结

前言

        在工作的时候,需要做一个天气情况的报表,一开始没学习爬虫的时候,需要手动到天气网站上去截取天气数据做到表格里,复制粘贴下来的数据需要做一些处理,考虑用Python简化这些步骤。

一、获取原始数据

        从全国城市天气预报_城市天气预报查询_国内天气预报查询_天气网中进入需要查询的城市,选择40天天气,选中需要的内容复制粘贴到EXCEL表里,不同城市放到不同的SHEET里,序号、城市列为固定列,只需更新内容列。

二、数据处理 1.代码

        由于粘贴到EXCEL里的数据形式比较规律,因此只需找到排列规律进行操作即可,观察可知同类数据所在位置为序号间隔为3的等差数列,遍历数据列取出间隔为3的数据即可,取出数据后通过数据清洗呈现为自己想要的格式,代码如下:

import pandas as pd import numpy as np df2excel = pd.ExcelWriter('future.xlsx',engine='xlsxwriter') #北京 sheetName="北京" sheet=pd.read_excel('weilai.xlsx',sheet_name=sheetName) A=sheet["序号"] B=sheet["内容"] C=sheet["城市"] D=[] E=[] F=[] n1=1 n2=2 n3=3 n=1 for i in range(0,120,3):     S=B[i]     D.append(S) for j in range(1,120,3):     S1=B[j]     E.append(S1) for k in range(2,121,3):     S2=B[k]     F.append(S2)      DataSet1 = list(zip(D,E,F)) df = pd.DataFrame(data = DataSet1,columns=["日期","天气","温度"]) res=df['温度'].str.split('~',expand=True) df[['低温','温度']]=res df['温度']=df['温度'].str.replace('℃','') riqi=df.pop('日期') riqi=riqi.str[:5] df.insert(0,'日期',riqi) #上海 sheetName="上海" sheet=pd.read_excel('weilai.xlsx',sheet_name=sheetName) A=sheet["序号"] B=sheet["内容"] C=sheet["城市"] D=[] E=[] F=[] n1=1 n2=2 n3=3 n=1 for i in range(0,120,3):     S=B[i]     D.append(S) for j in range(1,120,3):     S1=B[j]     E.append(S1) for k in range(2,121,3):     S2=B[k]     F.append(S2)      DataSet1 = list(zip(D,E,F)) df1 = pd.DataFrame(data = DataSet1,columns=["日期","天气","温度"]) res=df1['温度'].str.split('~',expand=True) df1[['低温','温度']]=res df1['温度']=df1['温度'].str.replace('℃','') riqi=df1.pop('日期') riqi=riqi.str[:5] df1.insert(0,'日期',riqi) #广州 sheetName="广州" sheet=pd.read_excel('weilai.xlsx',sheet_name=sheetName) A=sheet["序号"] B=sheet["内容"] C=sheet["城市"] D=[] E=[] F=[] n1=1 n2=2 n3=3 n=1 for i in range(0,120,3):     S=B[i]     D.append(S) for j in range(1,120,3):     S1=B[j]     E.append(S1) for k in range(2,121,3):     S2=B[k]     F.append(S2)      DataSet1 = list(zip(D,E,F)) df3 = pd.DataFrame(data = DataSet1,columns=["日期","天气","温度"]) res=df3['温度'].str.split('~',expand=True) df3[['低温','温度']]=res df3['温度']=df3['温度'].str.replace('℃','') riqi=df3.pop('日期') riqi=riqi.str[:5] df3.insert(0,'日期',riqi) df.to_excel(df2excel,index=False,sheet_name="北京") df1.to_excel(df2excel,index=False,sheet_name="上海") df3.to_excel(df2excel,index=False,sheet_name="广州") df2excel.save() 2.处理结果

结果如下:

这里用ExcelWriter()函数在同一个表格里追加不同的Sheet。

df2excel = pd.ExcelWriter('future.xlsx',engine='xlsxwriter') sheetName="北京" sheet=pd.read_excel('weilai.xlsx',sheet_name=sheetName) sheetName="上海" sheet=pd.read_excel('weilai.xlsx',sheet_name=sheetName) sheetName="广州" sheet=pd.read_excel('weilai.xlsx',sheet_name=sheetName) df.to_excel(df2excel,index=False,sheet_name="北京") df1.to_excel(df2excel,index=False,sheet_name="上海") df3.to_excel(df2excel,index=False,sheet_name="广州") df2excel.save()

总结

        上述操作在原数据获取的时候还比较麻烦,后续考虑用爬虫的方式解决这一块。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3