python连接mysql数据库,筛选前五十的数,筛选出原始数据按出发日期和US进行分组计数,并使用Matplotlib的折线图功能将每个国家每天的航班数量可视化
时间: 2024-01-22 17:21:20 浏览: 81
使用python语言开发了一个显示航班航线的可视化系统,主要实现查询航班信息
5星 · 资源好评率100%
好的,首先需要安装 mysql-connector-python 模块来连接 MySQL 数据库。可以通过以下命令进行安装:
```
pip install mysql-connector-python
```
接下来我们来连接数据库并筛选前 50 条数据:
```python
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 获取游标
mycursor = mydb.cursor()
# 查询前 50 条数据
mycursor.execute("SELECT * FROM yourtable LIMIT 50")
# 打印结果
for x in mycursor:
print(x)
```
接下来我们来分组计数:
```python
# 按出发日期和目的国家分组计数
mycursor.execute("SELECT `出发日期`, `目的国家`, COUNT(*) FROM yourtable GROUP BY `出发日期`, `目的国家`")
# 打印结果
for x in mycursor:
print(x)
```
最后,我们使用 Matplotlib 的折线图功能将每个国家每天的航班数量可视化:
```python
import matplotlib.pyplot as plt
# 获取数据
mycursor.execute("SELECT `出发日期`, `目的国家`, COUNT(*) FROM yourtable GROUP BY `出发日期`, `目的国家`")
results = mycursor.fetchall()
# 将数据按国家分组
countries = {}
for result in results:
date, country, count = result
if country not in countries:
countries[country] = {"dates": [], "counts": []}
countries[country]["dates"].append(date)
countries[country]["counts"].append(count)
# 绘制折线图
for country in countries:
plt.plot(countries[country]["dates"], countries[country]["counts"], label=country)
plt.xlabel("Date")
plt.ylabel("Number of Flights")
plt.title("Flight Count by Country and Date")
plt.legend()
plt.show()
```
这样就可以将每个国家每天的航班数量可视化了。
阅读全文