transbigdata笔记:数据预处理
0 数据
使用 transbigdata/docs/source/gallery/data/TaxiData-Sample.csv at main · ni1o1/transbigdata (github.com)
和transbigdata/docs/source/gallery/data/sz.json at main · ni1o1/transbigdata (github.com)
0.1 导入库
import transbigdata as tbd
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
0.2 读取出租车轨迹数据
data=pd.read_csv('TaxiData-Sample.csv',names= ['VehicleNum', 'Time', 'Lng', 'Lat', 'OpenStatus', 'Speed'])
data

0.3 读取深圳各区json数据(并可视化)
sz=gpd.read_file('sz.json')
sz

sz.plot(figsize=(15,8))

1 数据预处理(和地理坐标相关)
1.1 clean_outofbounds
1.1.1 基本使用方法
transbigdata.clean_outofbounds(data, bounds, col=['Lng', 'Lat'])
并排除研究区域外的数据
1.1.2 主要参数说明
| data | 数据 |
| bounds | 研究区域左下角和右上角的纬度和经度,顺序为 [lon1, lat1, lon2, lat2] |
| col | data中经纬度列名 |
1.1.3 举例
tbd.clean_outofbounds(data,[114.0,22.5,114.3,22.6])

1.2 clean_outofshape
1.2.1 基本使用方法
输入研究区域的地理数据框并排除研究区域以外的数据
transbigdata.clean_outofshape(data, shape, col=['Lng', 'Lat'], accuracy=500)
1.2.2 主要参数
| data | 数据 |
| shape | 研究区的GeoDataFrame |
| col | 经纬度列名 |
| accuracy | 栅格的大小。 原理是先做数据栅格化,然后再做数据清理。 尺寸越小,精度越高 |
1.2.3 举例
tbd.clean_outofshape(data,sz,accuracy=100)

tbd.clean_outofshape(data,sz,accuracy=1000)

accuracy 越小,筛选得越细
2 数据预处理(和出租车相关)
2.1 clean_taxi_status
- 从出租车数据中删除乘客携带状态的瞬时变化记录。这些异常记录会影响旅行订单判断
- 判断方法:如果同一车辆上一条记录和下一条记录的乘客状态与该记录不同,则应删除该记录【不可以一瞬间接客/不接客】
2.1.1 主要使用方法
transbigdata.clean_taxi_status(data, col=['VehicleNum', 'Time', 'OpenStatus'], timelimit=None)
2.1.2 主要参数
| data | 数据 |
| col | 列名,顺序为[‘VehicleNum’, ‘Time’, ‘OpenStatus’] |
| timelimit | 可选,以秒为单位。 如果上一条记录和下一条记录之间的时间小于时间阈值,则将删除该记录 【个人觉得是,和上一条记录的时间差 & 和下一条记录的时间差 都小于阈值,那么删除该记录】 这个阈值表示允许状态变化的最短时间间隔
|
2.1.3 举例
data = tbd.clean_outofshape(data, sz, col=['Lng', 'Lat'], accuracy=500)
data

data2 = tbd.clean_taxi_status(data, col=['VehicleNum', 'Time', 'OpenStatus'])
data2

2.1.4 删去的那些行举例说明
我们看一下删去的行都是什么特点呢?
根据pandas笔记:找出在一个dataframe但不在另一个中的index-CSDN博客
我们得到在data,但不在data2中的index
diff_index = data.index.difference(data2.index)
diff_index
'''
Index([ 710, 807, 844, 1372, 1564, 1684, 1690, 1753, 2842,4150,...532055, 533757, 534219, 540261, 540471, 540481, 541260, 541263, 541889,542487],dtype='int64', length=914)
'''
看一下710行是什么东西吧:
data.iloc[710]
'''
VehicleNum 24741
Time 16:16:00
Lng 113.810135
Lat 22.626522
OpenStatus 0
Speed 0
Name: 710, dtype: object
'''
然后看一下24741号车辆的记录
pd.set_option('display.max_rows', None)
#显示dataframe所有行data[data['VehicleNum']==24741].sort_values('Time')
#筛选 24741号 车辆,按照Time排序

确实上一条记录和下一条记录的乘客状态与该记录不同
2.1.5 timelimit
pd.set_option('display.max_rows', 10)
data3 = tbd.clean_taxi_status(data, col=['VehicleNum', 'Time', 'OpenStatus'],timelimit=25)data.index.difference(data3.index)
'''
Index([ 807, 844, 1684, 1753, 6433, 6437, 7709, 7739, 9741,10852,...507166, 511979, 514909, 514954, 523687, 524631, 540471, 540481, 541260,541263],dtype='int64', length=329)
'''
此时710和后一条记录的时间间隔(38秒)大于阈值25秒,说明不是噪声,所以不删去
相关文章:
transbigdata笔记:数据预处理
0 数据 使用 transbigdata/docs/source/gallery/data/TaxiData-Sample.csv at main ni1o1/transbigdata (github.com) 和transbigdata/docs/source/gallery/data/sz.json at main ni1o1/transbigdata (github.com) 0.1 导入库 import transbigdata as tbd import pandas …...
java中解码和编码出现乱码原因
一、UTF-8和GBK编码方式 如果采用的是UTF-8的编码方式,那么1个英文字母 占 1个字节,1个中文占3个字节如果采用GBK的编码方式,那么1个英文字母 占 1个字节,1个中文占2个字节 二、idea和eclipse的默认编码方式 其实idea和eclipse的…...
60V降压3.3V稳压芯片 60V降压5V稳压芯片60V降压12V稳压芯片
60V降压3.3V稳压芯片、60V降压5V稳压芯片和60V降压12V稳压芯片是针对不同输出电压需求的降压稳压芯片。这些芯片通常被用于工业控制、通信设备、汽车电子和其他需要高电压输入并提供稳定输出电压的场合。 这些芯片通常具有高效率、低功耗和高稳定性的特点,能够在输…...
01第一个Mybatis程序+引入Junit+引入日志文件logback
Mybatis MyBatis本质上就是对JDBC的封装,通过MyBatis完成CRUD。而对于JDBC,SQL语句写死在Java程序中,不灵活。改SQL的话就要改Java代码。违背开闭原则OCP。对于事务机制,MyBatis支持 或managed模式,JDBC模式中MyBatis…...
音乐制作软件Studio One mac有哪些特点
Studio One mac是一款专业的音乐制作软件,该软件提供了全面的音频编辑和混音功能,包括录制、编曲、合成、采样等多种工具,可用于制作各种类型的音乐,如流行音乐、电子音乐、摇滚乐等。 Studio One mac软件特点 1. 直观易用的界面&…...
开源C语言库Melon之日志模块
本文向大家介绍一个名为Melon的开源C语言库的日志模块。 简述Melon Melon是一个包含了开发中常用的各类组件的开源C语言库,支持Linux、MacOS、Windows系统,可用于服务器开发亦可用于嵌入式开发,无第三方软件依赖,安装简单&…...
[NOIP2006 提高组] 作业调度方案(修改)
题目: 这里对于之前的题目进行修改记录。果然还是受不了等待,利用晚饭时间又看了这个题目。于是发现了问题。 之前的博客:https://blog.csdn.net/KLSZM/article/details/135522867?spm1001.2014.3001.5501 问题修改描述 上午书写的代码中是…...
uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -全局异常统一处理实现
锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…...
浏览器缓存引发的odoo前端报错
前两天,跑了一个odoo16项目,莫名其妙的前端报错, moment.js 报的错, 这是一个时间库,不是我自己写的代码,我也没做过任何修改,搞不清楚为什么报错。以为是odoo的bug,所以从gitee下载…...
如何搭建开源知识库软件AFFiNE并实现公网环境远程协作【内网穿透】
目录 前言 1. 使用Docker安装AFFINE 2. 安装cpolar内网穿透工具 3. 配置AFFINE公网访问地址 4. 实现公网远程访问AFFINE 结语 作者简介: 懒大王敲代码,计算机专业应届生 今天给大家聊聊如何搭建开源知识库软件AFFiNE并实现公网环境远程协作【内网穿…...
记忆泊车信息安全技术要求
一.概述 1.1 编写目的 记忆泊车过程涉及车辆通信、远程控制车辆等关键操作,因此需要把信息安全考虑进去,确保整个自动泊车过程的信息安全。 1.2 编写说明 此版为信息安全需求,供应商需要整体的信息安全方案。 1.3 适用范围 …...
开源分布式任务调度系统DolphinScheduler本地部署与远程访问
文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问,结合内…...
C++day3作业
完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号和密码不匹配…...
设计模式⑤ :一致性
一、前言 有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。 …...
Android通过Recyclerview实现流式布局自适应列数及高度
调用 FlowAdapter 跟普通recyclerview一样使用 RecyclerView rvLayout holder.getView(R.id.spe_tag_layout); FlowAdapter rvAdapter new FlowAdapter(); FlowLayoutManager flowLayoutManager new FlowLayoutManager(); rvLayout.setLayoutManager(flowLayoutManager); r…...
AlexNet(fashion-mnist)
前言 AlexNet相较于LeNet-5具有更深的网络结构,采用relu激活函数。 AlexNet 参数更多,计算量更大,计算速度更慢,精度更高。 netnn.Sequential(nn.Conv2d(1,96,kernel_size11,stride4,padding1),nn.ReLU(),nn.MaxPool2d(kernel…...
2024新年烟花代码完整版
文章目录 前言烟花效果展示使用教程查看源码HTML代码CSS代码JavaScript 新年祝福 前言 在这个充满希望和激动的2024年,新的一年即将拉开帷幕,而数字科技的创新与发展也如火如荼。烟花绚丽多彩的绽放,一直以来都是新年庆典中不可或缺的元素。…...
Fontfabric:一款字体与设计的完美结合
一、产品介绍 Fontfabric是一款由国际字体设计公司Fontfabric开发的字体设计软件。它提供了一整套完整的字体设计工具,让用户可以轻松地创建、设计和定制自己的字体。Fontfabric拥有丰富的字体库,包括各种风格和类型,能够满足用户在不同场景…...
Python爬虫—requests模块简单应用
Python爬虫—requests模块简介 requests的作用与安装 作用:发送网络请求,返回响应数据 安装:pip install requests requests模块发送简单的get请求、获取响应 需求:通过requests向百度首页发送请求,获取百度首页的…...
江科大STM32
参考: https://blog.csdn.net/weixin_54742551/article/details/132409170?spm1001.2014.3001.5502 https://blog.csdn.net/Johnor/article/details/128539267?spm1001.2014.3001.5502 SPI:https://blog.csdn.net/weixin_62127790/article/details/132…...
自动化工具赋能工作流:如何用KeymouseGo提升效率与降低错误率
自动化工具赋能工作流:如何用KeymouseGo提升效率与降低错误率 【免费下载链接】KeymouseGo 类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input 项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo 在…...
惠普M232,M233,M234,M235,M236屏幕报错rd,修复工具
惠普M232,M233,M234,M235,M236屏幕报错rd,修复工具,惠普降级固件 链接:https://pan.baidu.com/s/1J7PN4m4fbIzku9DqBFg_nw?pwd0000 提取码:0000 复制这段内容后打开百度网盘手机App,操作更方便哦 备用下载:下载...
Phi-3-mini-4k-instruct-gguf入门必看:轻量模型与Llama3/Qwen对比——适用边界与选型建议
Phi-3-mini-4k-instruct-gguf入门必看:轻量模型与Llama3/Qwen对比——适用边界与选型建议 1. 认识Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个模型特别适合处理问答、文本改写、摘要整理和简短…...
GPU Burn:多GPU压力测试的终极解决方案
GPU Burn:多GPU压力测试的终极解决方案 【免费下载链接】gpu-burn Multi-GPU CUDA stress test 项目地址: https://gitcode.com/gh_mirrors/gp/gpu-burn 在高性能计算与深度学习领域,GPU的稳定性直接决定了系统的可靠性。作为一款专注于NVIDIA显卡…...
LTSC-Add-MicrosoftStore:Windows 11 24H2 LTSC应用商店恢复工具实战指南
LTSC-Add-MicrosoftStore:Windows 11 24H2 LTSC应用商店恢复工具实战指南 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore 1. 问题本质&…...
基于YOLOv5和swin-Unet的带钢缺陷智能识别系统
十一、基于YOLOv5和swin-Unet的带钢缺陷智能识别系统 1.带标签数据集,包括检测和分割数据集,其中检测数据共计6类,1800张图片。 2.含模型训练权重。 3.pyqt5设计的界面,带登录界面,注册界面和运行界面。 4.提供详细的环…...
Plumbum部署指南:生产环境配置、安全与监控完整方案
Plumbum部署指南:生产环境配置、安全与监控完整方案 【免费下载链接】plumbum Plumbum: Shell Combinators 项目地址: https://gitcode.com/gh_mirrors/pl/plumbum Plumbum作为Python Shell Combinators库,为生产环境提供了强大的命令行执行和远程…...
Qwen3.5-9B应用场景:开发者日常——Stack Overflow式问答+Debug辅助
Qwen3.5-9B应用场景:开发者日常——Stack Overflow式问答Debug辅助 1. 开发者新利器:Qwen3.5-9B大模型 作为一名开发者,你是否经常遇到这样的场景:深夜调试代码时遇到报错,Stack Overflow上找不到满意答案࿱…...
Phi-4-mini-reasoning保姆级教学:Windows WSL2环境部署全流程
Phi-4-mini-reasoning保姆级教学:Windows WSL2环境部署全流程 1. 模型介绍 Phi-4-mini-reasoning是微软推出的3.8B参数轻量级开源模型,专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这个模型主打"小参数、强推理、长上下文、低延迟"的…...
3个核心技巧:PS手柄无缝适配PC完全指南
3个核心技巧:PS手柄无缝适配PC完全指南 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 对于拥有PS4/PS5手柄的玩家而言,在PC上实现完美适配一直是提升游戏体验的关…...
