transdata笔记:手机数据处理

news2025/2/23 0:55:39

1 mobile_stay_duration 每个停留点白天和夜间的持续时间

transbigdata.mobile_stay_duration(
    staydata, 
    col=['stime', 'etime'], 
    start_hour=8, 
    end_hour=20)

1.1 主要参数

staydata停留数据(每一行是一条数据)
col  列名,顺序为[‘starttime’,’endtime’]
start_hour白天的开始时间
end_hour白天的结束时间

 1.2 返回内容

duration_night  一个panda的Series,表示夜间持续时间
duration_day 一个panda的Series,表示白天持续时间

1.3 举例

import pandas as pd
from transbigdata import mobile_stay_duration

# 示例数据
data = {
    'stime': ['2024-01-01 07:00', '2024-01-01 22:00', '2024-01-02 11:00', '2024-01-02 03:00'],
    'etime': ['2024-01-01 10:00', '2024-01-02 02:00', '2024-01-02 15:00', '2024-01-02 05:00']
}
staydata = pd.DataFrame(data)
staydata['stime'] = pd.to_datetime(staydata['stime'])
staydata['etime'] = pd.to_datetime(staydata['etime'])
staydata

每一行表示在一个staypoint的开始-结束时间

result = mobile_stay_duration(staydata, col=['stime', 'etime'], start_hour=8, end_hour=20)
result
'''
(0     3600.0
 1    14400.0
 2        0.0
 3     7200.0
 dtype: float64,
 0     7200.0
 1        0.0
 2    14400.0
 3        0.0
 dtype: float64)
'''

两个pandas.Series,分别表示夜间/白天持续时间

2 mobile_identify_work 识别工作地点

transbigdata.mobile_identify_work(
    staydata, 
    col=['uid', 'stime', 'etime', 'LONCOL', 'LATCOL'], 
    minhour=3, 
    start_hour=8, 
    end_hour=20, 
    workdaystart=0, 
    workdayend=4)

从手机停留数据中识别工作地点。规则是确定工作日白天持续时间最长的位置(平均持续时间应超过“minhour”)

2.1 参数

staydata停留数据
col

列名,按 [‘uid’、stime’、’etime’、’locationtag1’、’locationtag2’, …] 的顺序排列。

可以有多个“locationtag”列来指定位置

minhour工作日的最短持续时间(小时)
workdaystart一周中工作日的开始(0表示周一)
workdayend 一周中工作日的结束
start_hour工作一天的开始时间
end_hout工作一天的结束时间

2.2 举例

import pandas as pd
from transbigdata import mobile_identify_work

# 示例数据
data = {
    'uid': [1, 1, 1, 2, 2],
    'stime': ['2024-01-01 09:00', '2024-01-02 09:30', '2024-01-03 08:45', '2024-01-06 09:15', '2024-01-07 09:45'],
    'etime': ['2024-01-01 17:00', '2024-01-02 16:30', '2024-01-03 18:00', '2024-01-06 17:15', '2024-01-07 16:45'],
    'LONCOL': [116.38, 116.39, 116.38, 116.40, 116.40],
    'LATCOL': [39.90, 39.91, 39.90, 39.92, 39.92]
}
staydata = pd.DataFrame(data)
staydata['stime'] = pd.to_datetime(staydata['stime'])
staydata['etime'] = pd.to_datetime(staydata['etime'])
staydata

 

work_locations = mobile_identify_work(
    staydata, 
    col=['uid', 'stime', 'etime', 'LONCOL', 'LATCOL'], 
    minhour=3, 
    start_hour=8, 
    end_hour=20, 
    workdaystart=0, 
    workdayend=4
)
work_locations

 

对于uid=2,他的两个停留记录(1月6日 & 1月7日是周六周日,不是工作日,所以不记录用户2的工作位置)

3 mobile_identify_home 识别居住地位置

从手机停留数据中识别居住地位置。规则是确定夜间持续时间最长的位置

staydata停留数据
col

列名,按 [‘uid’, ‘stime’, ‘etime’, ‘locationtag1’, ‘locationtag2’, …] 的顺序排列。

可以有多个“位置标签”列来指定位置

start_hour 白天时间的开始时间
end_hour白天时间的结束时间

3.1 举例

import pandas as pd
from transbigdata import mobile_identify_home

# 示例数据
data = {
    'uid': [1, 1, 2, 2],
    'stime': ['2024-01-01 22:00', '2024-01-02 23:00', '2024-01-01 22:30', '2024-01-02 21:00'],
    'etime': ['2024-01-02 06:00', '2024-01-03 07:00', '2024-01-02 05:30', '2024-01-03 06:00'],
    'LONCOL': [116.38, 116.39, 116.40, 116.41],
    'LATCOL': [39.90, 39.91, 39.92, 39.93]
}
staydata = pd.DataFrame(data)
staydata['stime'] = pd.to_datetime(staydata['stime'])
staydata['etime'] = pd.to_datetime(staydata['etime'])
staydata

home_locations = mobile_identify_home(staydata, 
                                      col=['uid', 'stime', 'etime', 'LONCOL', 'LATCOL'], 
                                      start_hour=8, 
                                      end_hour=20)
home_locations

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1401821.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Istio

1、Istio介绍 Istio 是由 Google、IBM 和 Lyft 开源的微服务管理、保护和监控框架。 官网:https://istio.io/latest/zh/ 官方文档:https://istio.io/docs/ 中文官方文档:https://istio.io/zh/docs Github地址:https://github.com…

System.Data.SqlClient.SqlException:“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误

目录 背景: 过程: SQL Express的认识: 背景: 正在运行程序的时候,我遇到一个错误提示,错误信息如下,当我将错误信息仔细阅读了一番,信息提示的很明显,错误出现的来源就是连接数据库代码这块string connStr "s…

编写servlet

编写servlet 上述代码中的HTML页面将雇员ID发送给servlet。要创建servlet读取客户机发送的雇员ID并检索雇员的详细信息,需要执行以下步骤: 在“项目”选项卡中右击“Employee”节点,然后选择“新建”→Servlet。将显示“新建Servlet”对话框。在“类名”文本框中输入Employ…

【Kaggle】泰坦尼克号生存预测 Titanic

文章目录 前言案例背景数据集介绍加载数据集探索性数据分析(EDA)可视化特征和目标值之间关系缺失值分析 数据预处理数据清洗缺失值处理去除噪声并且规范化文本内容 数据转换 数据划分建模逻辑回归模型决策分类树模型随机森林模型梯度提升树模型 预测LR 完…

C++笔记之bool类型的隐式转换现象与应用

C++笔记之bool类型的隐式转换现象与应用 —— 《C++ Primer Plus》 文章目录 C++笔记之bool类型的隐式转换现象与应用1.C++中,有几种类型和表达式可以隐式转换为bool类型2.使用explicit关键字来声明显示转换运算符,这样只有在使用static_cast<bool>时才能将对象转换为…

SpringCloud之OpenFeign的学习、快速上手

1、什么是OpenFeign OpenFeign简化了Http的开发。在RestTemplate的基础上做了封装&#xff0c;在微服务中的服务调用发送网络请求起到了重要的作用&#xff0c;简化了开发&#xff0c;可以让我们跟写接口一样调其他服务。 并且OpenFeign内置了Ribbon实现负载均衡。 官方文档…

GEE:最小距离分类器(minimumDistance)分类教程(样本制作、特征添加、训练、精度、最优参数、统计面积)

作者:CSDN @ _养乐多_ 本文将介绍在Google Earth Engine (GEE)平台上进行最小距离分类(minimumDistance)的方法和代码,其中包括制作样本点教程(本地、在线和本地在线混合制作样本点,合并样本点等),加入特征变量(各种指数、纹理特征、时间序列特征、物候特征等),运行…

中仕教育:国考调剂和补录的区别是什么?

国考笔试成绩和进面名单公布之后&#xff0c;考生们就需要关注调剂和补录了&#xff0c;针对二者之间的区别很多考生不太了解&#xff0c;本文为大家解答一下关于国考调剂和补录的区别。 1.补录 补录是在公式环节之后进行的&#xff0c;主要原因是经过面试、体检和考察&#…

高速CAN总线 m 个节点竞争总线时 电压分析(共 n 个节点)

电路的串并联关系参考<<高速CAN总线 A C节点竞争总线时 电压分析(共ABC三个节点)>> M个节点同时发送显性电平 如下图: 由上图可以看出,上下并联的M组30Ω的等效电阻R0 &#xff08;30/m&#xff09; Ω 中间并联的电阻R1 由公式&#xff1a; 1/R1 1/120 1/120…

LV.19 D1 C++简介 学习笔记

一、C概述 1.1 C的前世今生 C是一种被广泛使用的计算机程序设计语言。它是一种通用程序设计语言&#xff0c;支持多重编程范式&#xff0c;例如过程化程序设计、面向对象程序设计、泛型程序设计和函数式程序设计等。 C的发展&#xff1a; 1.2 C的主要应用领域 C是一门运用很广…

海外抖音TikTok、正在内测 AI 生成歌曲功能,依靠大语言模型 Bloom 进行文本生成歌曲

近日&#xff0c;据外媒The Verge报道&#xff0c;TikTok正在测试一项新功能&#xff0c;利用大语言模型Bloom的AI能力&#xff0c;允许用户上传歌词文本&#xff0c;并使用AI为其添加声音。这一创新旨在为用户提供更多创作音乐的工具和选项。 Bloom 是由AI初创公司Hugging Fac…

AtCoder Regular Contest 170(A~B)

A - Yet Another AB Problem 给你两个字符串S和T&#xff0c;你可以对S执行操作&#xff0c;选择两个字符&#xff0c;将前面的改为A&#xff0c;后面的改为B&#xff0c;最少操作几次可以把S改成T。如果改不成就输出-1。 从左往右一个一个改过去&#xff0c;分类讨论&#x…

html 会跳舞的时间动画特效

下面是是代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"> <head> <meta h…

php基础学习之代码框架

一&#xff0c;标记 脚本标记&#xff08;已弃用&#xff09;&#xff1a;<script language"php"> php代码 </script> 标准标记&#xff1a;<?php php代码 ?> 二&#xff0c;基础输出语句 不是函数&#xff0c;…

基于yolov5-master和pyqt5的森林火灾监测软件

文章目录 项目背景效果演示一、实现思路① 算法原理② 程序流程图 二、系统设计与实现三、模型评估与优化 项目背景 火灾作为威胁人类生命生产安全的隐患之一&#xff0c;一直是人们关注的重点。传统的火灾监测装置根据温度来检测火灾&#xff0c;不仅灵敏度差&#xff0c;而且…

信息安全的脆弱性及常见安全攻击

目录 信息安全概述信息安全现状及挑战传统安全防护逐步失效 安全风险能见度不足看不清资产看不见新型威胁看不见内网潜藏风险 常见的网络安全术语信息安全的脆弱性及常见安全攻击网络环境的开放性协议栈的脆弱性及常见攻击常见安全风险 协议栈自身的脆弱性网络的基本攻击模式 链…

Fiddler替换原网页元素

我将此代码替换为我的图片时&#xff0c;再进行加载的页面&#xff0c;图片将改变。 此效果主要用于当某些网站使用js脚本注入&#xff0c;来禁止F12访问时&#xff0c;可以将他的js文件替换为空。 例&#xff1a;<script disable-devtool-auto srcmhttps://cdn.jsdelivr.…

磁盘的分区与文件系统的认识

磁盘的认识 了解磁盘的结构&#xff1a; 1、盘片 硬盘首先会有多个盘片构成&#xff0c;类似很多个独立的光盘合并在一起&#xff0c;每个盘片都有2个面&#xff0c;每个盘片都有一个对应的磁头&#xff0c;我们的磁头横移和盘面的旋转就可以读写到盘面的每一个位置&#xff0c…

新闻每天都在更新,那网页上的新闻页面是怎么使用Dreamweaver制作的?

新闻每天都在更新&#xff0c;那网页上的新闻页面是怎么使用Dreamweaver制作的&#xff1f; 新闻有很多种&#xff0c;但大多数结构都差不多&#xff0c;我们就先做一个简单的新闻页面&#xff0c;如图1中画圈圈的新闻内容。 图1 案例实现 新闻页面一般由四个部分构成&#…

1.使用分布式文件系统Minio管理文件

分布式文件系统DFS分类 文件系统 文件系统是操作系统用于组织管理存储设备(磁盘)或分区上文件信息的方法和数据结构,负责对文件存储设备空间进行组织和分配,并对存入文件进行保护和检索 文件系统是负责管理和存储文件的系统软件&#xff0c;操作系统通过文件系统提供的接口去…