📅  最后修改于: 2023-12-03 15:22:19.576000             🧑  作者: Mango
鸟类迁徙是一项非常神奇和有趣的活动,它们可以在季节变化和气象条件不断变化的情况下在大量的距离间迁徙。随着科技的发展,我们可以使用各种仪器来跟踪它们的运动轨迹,这个过程中不可避免的需要用到Python。
本文将介绍如何使用Python-3进行鸟类迁徙的跟踪,技术难度较低,非常适合初学者。
在开始之前,需要安装以下库:
可以使用以下命令安装:
pip install pandas matplotlib
首先,我们需要获得鸟类迁徙的数据。有一些网站提供公共的数据集供大家使用,本文将使用Cornell Lab of Ornithology提供的全球鸟类迁徙数据集。
数据集可以通过下面的网址下载,并解压到本地:
https://doi.org/10.6084/m9.figshare.5262472.v1
解压后会得到一个名为bird_tracking.csv
的文件,该文件记录了约117万条鸟类迁徙的数据。
读取数据集是一个耗时的过程,我们首先需要先处理一下数据集,只选取我们感兴趣的数据并减小文件大小。以下是处理数据集的代码:
import pandas as pd
# 读取原始数据集
data = pd.read_csv('bird_tracking.csv')
# 只保留三种鸟类:Violet-green Swallow,Tree Swallow和Bank Swallow
species = ['VGSW', 'TRES', 'BANS']
data = data[data['species'].isin(species)]
# 只保留北美和南美洲的鸟类
lat_limits = (5, 55)
lon_limits = (-130, -30)
data = data[(data['lat'] > lat_limits[0]) & (data['lat'] < lat_limits[1])]
data = data[(data['lon'] > lon_limits[0]) & (data['lon'] < lon_limits[1])]
# 保存处理后的数据集
data.to_csv('bird_tracking_clean.csv', index=False)
运行上述代码后,会生成一个新的文件bird_tracking_clean.csv
,该文件仅保留了我们感兴趣的数据并减小了文件大小。
现在,我们将使用matplotlib库来可视化数据。下面是可视化数据的代码:
import pandas as pd
import matplotlib.pyplot as plt
# 读取处理后的数据集
data = pd.read_csv('bird_tracking_clean.csv')
# 绘制不同基站接收到的鸟类数量
fig, ax = plt.subplots(figsize=(10, 7))
data.groupby('tag-local-identifier').count()['altitude'].plot(ax=ax, kind='bar')
ax.set_xlabel('标记本地标识符')
ax.set_ylabel('数量')
ax.set_title('不同基站接收到的鸟类数量')
# 绘制一只鸟类的运动轨迹
bird_name = 'TRES_31'
bird_data = data[data['tag-local-identifier'] == bird_name]
fig, ax = plt.subplots(figsize=(10, 7))
ax.plot(bird_data['lon'], bird_data['lat'], '.', label=bird_name)
ax.legend(loc='best')
ax.set_xlabel('经度')
ax.set_ylabel('纬度')
ax.set_title('鸟类{}的运动轨迹'.format(bird_name))
运行上述代码后,会生成两张可视化的图表。第一张图表展示了不同基站接收到的鸟类数量,第二张图表展示了一只鸟类的运动轨迹。
## 总结
本文介绍了如何使用Python-3跟踪鸟类迁徙,涉及了数据处理和可视化方面的内容。希望本文能对初学者有所帮助,欢迎大家在评论区留言。