Partridge 开源项目教程

Partridge 开源项目教程

partridge A fast, forgiving GTFS reader built on pandas DataFrames partridge 项目地址: https://gitcode.com/gh_mirrors/pa/partridge

1. 项目介绍

Partridge 是一个基于 Python 3.6+ 的库,专门用于处理 GTFS(General Transit Feed Specification)数据。它利用 pandas DataFrames 来快速、灵活地读取和处理 GTFS 数据。Partridge 的设计灵感来自于 Remix 公司在分析和调试各种 GTFS 数据时的经验。其核心是一个以 trips.txt 为根的依赖图,通过这个图可以有效地修剪和过滤数据,使得处理 GTFS 数据变得更加高效和灵活。

2. 项目快速启动

安装

首先,确保你已经安装了 Python 3.6 或更高版本。然后,使用 pip 安装 Partridge:

pip install partridge

如果你需要 GeoPandas 支持,可以安装 partridge[full]

pip install partridge[full]

基本使用

以下是一个简单的示例,展示如何使用 Partridge 读取 GTFS 数据并进行基本操作:

import partridge as ptg

# 指定 GTFS 文件路径
inpath = 'path/to/caltrain-2017-07-24/'

# 读取最繁忙的日期
date, service_ids = ptg.read_busiest_date(inpath)

# 创建一个视图,过滤特定的服务 ID
view = {
    'trips.txt': {'service_id': service_ids},
    'stops.txt': {'stop_name': 'Gilroy Caltrain'}
}

# 加载过滤后的 GTFS 数据
feed = ptg.load_feed(inpath, view)

# 打印数据
print(feed.trips.head())
print(feed.stops.head())

3. 应用案例和最佳实践

案例1:查找最繁忙的日期

import partridge as ptg

inpath = 'path/to/caltrain-2017-07-24/'
date, service_ids = ptg.read_busiest_date(inpath)
print(f"最繁忙的日期是: {date}, 服务 ID: {service_ids}")

案例2:合并多个 GTFS 数据

import partridge as ptg

inpath1 = 'path/to/feed1/'
inpath2 = 'path/to/feed2/'

feed1 = ptg.load_feed(inpath1)
feed2 = ptg.load_feed(inpath2)

# 合并两个 GTFS 数据
merged_feed = ptg.merge_feeds([feed1, feed2])

print(merged_feed.trips.head())

最佳实践

  1. 数据过滤:在处理大型 GTFS 数据时,使用 view 参数进行数据过滤,以减少内存占用和提高处理速度。
  2. 错误处理:Partridge 设计为“宽容”的 GTFS 读取器,但在处理异常数据时,建议进行适当的错误处理。

4. 典型生态项目

1. Remix

Remix 是一个基于 Web 的交通规划工具,广泛使用 Partridge 来处理和分析 GTFS 数据。Remix 的用户可以通过可视化界面轻松地查看和编辑 GTFS 数据。

2. Transitland

Transitland 是一个开放的公共交通数据平台,它使用 Partridge 来处理和整合来自全球的 GTFS 数据,提供了一个统一的 API 接口供开发者使用。

3. OpenTripPlanner

OpenTripPlanner 是一个开源的交通路线规划引擎,它支持 GTFS 数据作为输入。Partridge 可以用于预处理 GTFS 数据,以便更好地集成到 OpenTripPlanner 中。

通过这些生态项目,Partridge 不仅在数据处理方面表现出色,还为交通规划和数据分析提供了强大的支持。

partridge A fast, forgiving GTFS reader built on pandas DataFrames partridge 项目地址: https://gitcode.com/gh_mirrors/pa/partridge

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强海寒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值