python天⽓可视化分析报告_Python天⽓简单数据分析及可视
财务常用excel函数公式大全讲解化
Python 天⽓情况数据分析及可视化
环境配置
Pycharm开发环境
python 版本 python3.7
Anconda 集成开发环境
第三⽅库导⼊
## pip install 模块 清华⼤学镜像源
import requests
from bs4 import BeautifulSoup
import io
import sys
import pandas
from matplotlib import pyplot as plt
步骤
1.爬⾍requests 获取数据
2.pandas 处理数据
3.matplotlib 绘制图形
4.其他 保存数据进⼊csv格式,简单处理,例如雷达图
⼩案例
雷达图
#-*- codeing = utf-8 -*-
#@Time : 2020/6/2 20:07
#@Author : dele
#@File : demo.py
#@Software: PyCharm
# 雷达图
import pygal
# pip install pygal 安装模块
rader_chart = pygal.Radar()
rader_chart.title = '成绩分析'
rader_chart.x_labels = ["数学","英语","⽂综","理综","体育"]
rader_chart.add('StdudetA',[139,122,80,250,10])
rader_chart.add('StdudetB',[129,100,80,250,40])
rader_chart.add('StdudetC',[150,100,80,150,60])
rader_chart.add('StdudetD',[99,140,80,150,90])
der_to_file('radar_chart.svg')
效果
天⽓案例
然后⼀直选择到你需要的数据地址
例如:如图
进⾏⽹页分析 F12检查⽹页分析源代码
Python 爬⾍代码分析
Pandas matplotlib 模块
Pandas
pandas 是基于NumPy 的⼀种⼯具,该⼯具是为了解决数据分析任务⽽创建的。Pandas 纳⼊了⼤量库和⼀些标准的数据模型,提供了⾼效地操作⼤型数据集所需的⼯具。pandas提供了⼤量能使我们快速便捷地处理数据的函数和⽅法。你很快就会发现,它是使Python成为强⼤⽽⾼效的数据分析环境的重要因素之⼀。
基本功能
1. 数据⽂件读取/⽂本数据读取
2. 索引、选取和数据过滤
3. 算法运算和数据对齐
4. 函数的应⽤和映射
5. 重置索引
6. 数学统计⽅法
matplotlib
Matplotlib 是⼀个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境⽣成出版质量级别的图形 。 通过 Matplotlib,开发者可以仅需要⼏⾏代码,便可以⽣成绘图,直⽅图,功率谱,条形图,错误图,散点图等。
Matplotlib基础知识
1.Matplotlib中的基本图表包括的元素
x轴和y轴
⽔平和垂直的轴线
x轴和y轴刻度
刻度标⽰坐标轴的分隔,包括最⼩刻度和最⼤刻度
x轴和y轴刻度标签
表⽰特定坐标轴的值
绘图区域
实际绘图的区域
2.hold属性
hold属性默认为True,允许在⼀幅图中绘制多个曲线;将hold属性修改为False,每⼀个plot都会覆盖前⾯的plot。但是不推荐去动hold这个属性,这种做法(会有警告)。因此使⽤默认设置即可。
3.⽹格线
grid⽅法
使⽤grid⽅法为图添加⽹格线
设置grid参数(参数与plot函数相同)
.lw代表linewidth,线的粗细
.alpha表⽰线的明暗程度
4.axis⽅法
如果axis⽅法没有任何参数,则返回当前坐标轴的上下限
5.xlim⽅法和ylim⽅法
除了plt.axis⽅法,还可以通过xlim,ylim⽅法设置坐标轴范围
6.legend⽅法
#-*- codeing = utf-8 -*-
#@Time : 2020/6/2 20:26
#@Author : dele
#@File : weather.py
#@Software: PyCharm
import requests
from bs4 import BeautifulSoup
import io
import sys
import pandas
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
def get_data(weather_url):
rseponse = (weather_url)
html = t.decode('gbk')
soup = BeautifulSoup(html,'html.parser')
tr_lsit = soup.find_all('tr')
print(tr_lsit)
dates,conditions,temp = [],[],[]
for data in tr_lsit[1:]:
sub_data = split()
dates.append(sub_data[0])
conditions.append(''.join(sub_data[1:3]))
temp.append(''.join(sub_data[3:6]))
# 数据保存
_data = pandas.DataFrame()
_data['⽇期'] = dates
_data['天⽓情况'] = conditions
_data['⽓温'] = temp
jre包含了什么return _data
# print(_data)
# __csv('anqing.csv',index=False,encoding='gbk')
# 获取数据并保存csv格式,进⾏下⾯的数据分析
# 定义成函数形式进⾏封装
data_month_3 =get_data('www.tianqihoubao/lishi/anqing/month/202003.html') data_month_4 =get_data('www.tianqihoubao/lishi/anqing/month/202004.html') data_month_5 =get_data('www.tianqihoubao/lishi/anqing/month/202005.html') data = at([data_month_3,data_month_4,data_month_5]).reset_index(drop=True) _csv('anqing.csv',index=False,encoding='gbk')
数据可视化
from matplotlib import pyplot as plt
# 画图
datalsit = ad_csv('G:/Python_Web/weather/anqing.csv',encoding='gbk')
# 数据处理
datalsit['最⾼⽓温'] = datalsit['⽓温'].str.split('/',expand=True)[0]
dword是几个字节datalsit['最低⽓温'] = datalsit['⽓温'].str.split('/',expand=True)[1]
datalsit['最⾼⽓温'] = datalsit['最⾼⽓温'].map(lambda x:place('℃','')))
datalsit['最低⽓温'] = datalsit['最低⽓温'].map(lambda x:place('℃','')))
dates = datalsit['⽇期']
highs = datalsit['最⾼⽓温']
lows = datalsit['最低⽓温']
# 画图
fig = plt.figure(dpi=128,figsize=(10,6))
plt.plot(dates,highs,c='red',alpha=0.5)
plt.plot(dates,lows,c='blue',alpha=0.5)
plt.fill_between(dates,highs,lows,facecolor='blue',alpha=0.2)
# 图表格式
# 设置图标的图形格式
plt.title('2020安庆市3-5⽉天⽓情况',fontsize=24)
ppt模板下载后怎么编辑plt.xlabel('',fontsize=6)
fig.autofmt_xdate()
plt.ylabel('⽓温',fontsize=12)
plt.tick_params(axis='both',which='major',labelsize=10)
# 修改刻度
# 显⽰
plt.show()
效果
完整代码
#-*- codeing = utf-8 -*-
#@Time : 2020/6/2 20:26
#@Author : dele
#@File : weather.py
#@Software: PyCharm
import requests
from bs4 import BeautifulSoup
code blockimport io
import sys
import pandas
from matplotlib import pyplot as plt
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8') def get_data(weather_url):
rseponse = (weather_url)
html = t.decode('gbk')
气象python零基础入门教程soup = BeautifulSoup(html,'html.parser')
tr_lsit = soup.find_all('tr')
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论