Python爬取城市天气数据并作数据可视化

作者:梅琳marlin2024.01.18 05:32浏览量:11

简介:本文将介绍如何使用Python爬取城市天气数据,并使用Matplotlib和Seaborn库进行数据可视化。通过爬取天气数据,我们可以了解不同城市的天气状况,并通过可视化图表来展示数据,从而更好地理解天气趋势和规律。

在Python中,我们可以使用requests库来爬取城市天气数据。以下是一个简单的示例代码,演示如何爬取中国天气网的天气数据:

  1. import requests
  2. import json
  3. import pandas as pd
  4. import matplotlib.pyplot as plt
  5. import seaborn as sns
  6. # 定义要爬取的城市和日期
  7. city = '北京'
  8. date = '2023-03-15'
  9. # 构造请求URL
  10. url = f'http://www.tianqi.com/weather_forecast/{city}.html'
  11. # 发送请求并获取响应
  12. response = requests.get(url)
  13. data = response.json()
  14. # 将数据存储为CSV文件
  15. df = pd.DataFrame(data['forecast'], columns=['date', 'high', 'low', 'weather', 'wind'])
  16. df.to_csv(f'weather_{city}_{date}.csv', index=False)

在上面的代码中,我们首先定义了要爬取的城市和日期,然后构造了请求URL。接着,我们使用requests库发送GET请求,并获取到响应。最后,我们将响应中的数据存储为CSV文件。
接下来,我们可以使用Matplotlib和Seaborn库进行数据可视化。以下是一个简单的示例代码,演示如何绘制城市温度和天气状况的条形图:

  1. # 读取CSV文件中的数据
  2. df = pd.read_csv(f'weather_{city}_{date}.csv')
  3. # 绘制温度条形图
  4. plt.figure(figsize=(10, 5))
  5. plt.bar(df['date'], df['high'] - df['low'], color='skyblue')
  6. plt.xticks(rotation=45)
  7. plt.title(f'{city} {date} 温度分布')
  8. plt.xlabel('日期')
  9. plt.ylabel('温度范围')
  10. plt.show()