最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python實現(xiàn)個人手機定位分析

 更新時間:2023年04月23日 14:06:41   作者:快學Python  
TransBigData是一個為交通時空大數(shù)據(jù)處理、分析和可視化而開發(fā)的Python包。本文就來用它實現(xiàn)個人手機定位分析,感興趣的小伙伴可以了解一下

前段時間我們分享過《用Python實現(xiàn)交通數(shù)據(jù)可視化!》,其中主要是使用TransBigData庫快速高效地處理、分析、挖掘出租車GPS數(shù)據(jù)。

但其實交通時空大數(shù)據(jù)并不僅僅局限于交通工具產(chǎn)生的數(shù)據(jù),我們的日常生活中也會產(chǎn)生大量的數(shù)據(jù)。比如我們的手機記錄了我們到訪過的地點;使用城市公交IC卡、共享單車等服務時,服務供應商可以知道這些出行需求的時間和地點等等

本文作者依托《交通時空大數(shù)據(jù)分析、挖掘與可視化》一書中所介紹的相關技術開發(fā)了Python開源庫TransBigData,進行一次對手機信令數(shù)據(jù)的處理、分析和挖掘。

TransBigData簡介

TransBigData是一個為交通時空大數(shù)據(jù)處理、分析和可視化而開發(fā)的Python包。TransBigData為處理常見的交通時空大數(shù)據(jù)(如出租車GPS數(shù)據(jù)、共享單車數(shù)據(jù)和公交車GPS數(shù)據(jù)等)提供了快速而簡潔的方法。

目前,TransBigData主要提供以下方法:

(1)數(shù)據(jù)預處理:對數(shù)據(jù)集提供快速計算數(shù)據(jù)量、時間段、采樣間隔等基本信息的方法,也針對多種數(shù)據(jù)噪聲提供了相應的清洗方法。

(2)數(shù)據(jù)柵格化:提供在研究區(qū)域內(nèi)生成、匹配多種類型的地理柵格快學Python(矩形、三角形、六邊形及geohash柵格)的方法體系,能夠以向量化的方式快速算法將空間點數(shù)據(jù)映射到地理柵格上。

(3)數(shù)據(jù)可視化:基于可視化包keplergl,用簡單的代碼即可在Jupyter Notebook上交互式地可視化展示數(shù)據(jù)。

(4)軌跡處理:從軌跡數(shù)據(jù)GPS點生成軌跡線型,軌跡點增密、稀疏化等。

(5)地圖底圖、坐標轉(zhuǎn)換與計算:加載顯示地圖底圖與各類特殊坐標系之間的坐標轉(zhuǎn)換。

(6)特定處理方法:針對各類特定數(shù)據(jù)提供相應處理方法,如從出租車GPS數(shù)據(jù)中提取訂單起訖點,從手機信令數(shù)據(jù)中識別居住地與工作地,從地鐵網(wǎng)絡GIS數(shù)據(jù)構建網(wǎng)絡拓撲結(jié)構并計算最短路徑等。

TransBigData可以通過pip或者conda安裝,在命令提示符中運行下面代碼即可安裝:

pip?install?-U?transbigdata

安裝完成后,在Python中運行如下代碼即可導入TransBigData包。

import?transbigdata?as?tbd??

手機信令數(shù)據(jù)讀取

手機信令數(shù)據(jù)是指手機與通信基站之間交換的信息,包括位置、通信時長、通信頻次等數(shù)據(jù)。這些數(shù)據(jù)可以用于分析用戶的出行行為、生活習慣等,也可以用于城市交通管理、商業(yè)營銷等領域。

使用Python開源庫TransBigData可以快速高效地處理、分析、挖掘手機信令數(shù)據(jù),識別出行和停留、居住地與工作地等信息,并繪制活動圖以便于分析。

▲ 手機信令數(shù)據(jù)的采集原理

首先,我們將使用Python的pandas庫來讀取數(shù)據(jù)。Pandas是一款功能強大的數(shù)據(jù)處理庫,它提供了靈活的數(shù)據(jù)結(jié)構和數(shù)據(jù)分析工具,可以輕松地對各種數(shù)據(jù)進行操作和分析。我們將使用Pandas讀取包含手機信令數(shù)據(jù)的CSV文件,并將其存儲在一個Pandas的數(shù)據(jù)框中。

我們需要將時間字段轉(zhuǎn)換為正確的格式,以便進行后續(xù)的數(shù)據(jù)處理。我們使用Pandas的to_datetime函數(shù)將時間字段轉(zhuǎn)換為datetime格式。然后后,我們按照時間順序?qū)?shù)據(jù)進行排序,以便進行后續(xù)的數(shù)據(jù)處理:

import?pandas?as?pd
import?transbigdata?as?tbd
data?=?pd.read_csv(r'data/mobiledata_sample.csv')
#確保時間列準確識別(很重要)
data['stime']?=?pd.to_datetime(data['stime'],?format='%Y%m%d%H%M')
data?=?data.sort_values(by?=?['user_id','stime'])
data.head()

結(jié)果如下圖所示。

▲ 手機信令數(shù)據(jù)概況

識別出行和停留

在處理手機數(shù)據(jù)時,識別出行和停留是很重要的一步?;谑謾C識別出行和活動可以進一步進行路徑分析、出行模式分析、人群分析等工作。

活動:手機數(shù)據(jù)通過連續(xù)地追蹤個體的出行軌跡,可以構建出個體的出行鏈信息,一般來說,如果一個手機用戶在某個位置停留了超過30分鐘,我們可以認為用戶在這里發(fā)生了活動。

出行:用戶產(chǎn)生的連續(xù)兩個活動如果產(chǎn)生的地理位置不同,則可以認為用戶發(fā)生了出行行為。出行的起點為連續(xù)兩個活動中前一個活動的地理位置,出行的開始時間為前一個活動結(jié)束的時間,出行的終點則為后一個活動的地理位置,出行的結(jié)束時間則為后一個活動開始的時間。簡而言之,用戶在活動點與活動點之間的移動,視為用戶的出行。

▲ 活動與出行識別思路

使用TransBigData提供的手機信令數(shù)據(jù)處理方法,可以先將數(shù)據(jù)對應至柵格,將同一個柵格內(nèi)的數(shù)據(jù)視為在同一個位置,以避免數(shù)據(jù)定位誤差導致同一位置被識別為多個。然后,可以使用tbd.mobile_stay_move函數(shù)從手機數(shù)據(jù)中識別出行和停留:

#獲取柵格參數(shù)
params?=?tbd.area_to_params([121.860,?29.295,?121.862,?29.301],?accuracy=500)
#從手機數(shù)據(jù)中識別出行和停留
stay,move?=?tbd.mobile_stay_move(data,params,col?=?['user_id','stime','longitude',?'latitude'])結(jié)果如下所示。

▲ 停留識別結(jié)果

▲ 出行識別結(jié)果

識別居住地與工作地

通過移動通信數(shù)據(jù)識別出用戶的職住信息是研究的基礎工作之一。TransBigData中,以停留活動點為依據(jù),用tbd.mobile_identify_home方法可以識別居住地,用tbd.mobile_identify_work則可以識別工作地。具體規(guī)則為:

  • 居住地識別規(guī)則為夜晚時段停留最長地點
  • 工作地識別規(guī)則為工作日白天時段停留最長地點(每日平均時長大于minhour)。

具體使用方法如下:

#識別居住地
home?=?tbd.mobile_identify_home(stay,?col=['user_id','stime',?'etime','LONCOL',?'LATCOL','lon','lat'],?start_hour=8,?end_hour=20?)
home.head()

結(jié)果輸出:

▲ 居住地識別

#識別工作地
work?=?tbd.mobile_identify_work(stay,?col=['user_id',?'stime',?'etime',?'LONCOL',?'LATCOL','lon','lat'],?minhour=3,?start_hour=8,?end_hour=20,workdaystart=0,?workdayend=4)
work.head()

▲ 工作地識別結(jié)果

繪制活動圖

為了加深對手機用戶的具體活動情況的理解,我們可以用TransBigData提供的tbd.mobile_plot_activity方法將用戶的每日活動情況繪制出來觀察,具體代碼如下:

#繪制某一用戶的活動圖,不同顏色代表不同活動
uid?=?'fcc3a9e9df361667e00ee5c16cb08922'
tbd.mobile_plot_activity(stay[stay['user_id']==uid],figsize?=?(20,?5))

輸出結(jié)果:

▲ 單個用戶的活動圖

上圖中繪制的是一個手機用戶在觀測時間段內(nèi)每一天的活動情況,橫坐標為日期,縱坐標為時間,同一個位置的活動則以同樣的顏色顯示。從活動圖中我們可以很清晰地看到這個用戶每一個活動的開始與結(jié)束時間。

到此這篇關于基于Python實現(xiàn)個人手機定位分析的文章就介紹到這了,更多相關Python手機定位內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫基本操作大全

    Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫基本操作大全

    在后端應用開發(fā)中,經(jīng)常會用到Postgres/Mysql/Mongo這三種數(shù)據(jù)庫的基本操作,今天小編就給大家詳細介紹Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫基本操作,感興趣的朋友一起看看吧
    2021-06-06
  • OpenCV HSV顏色識別及HSV基本顏色分量范圍

    OpenCV HSV顏色識別及HSV基本顏色分量范圍

    這篇文章主要介紹了OpenCV HSV顏色識別及HSV基本顏色分量范圍,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • 解決Vscode中jupyter出現(xiàn)kernel dead問題

    解決Vscode中jupyter出現(xiàn)kernel dead問題

    遇到VSCode中Jupyter Kernel Dead時,可通過Anaconda Prompt安裝ipykernel解決,首先使用jupyter kernelspec list命令查看內(nèi)核,若發(fā)現(xiàn)缺少ipykernel,激活相應虛擬環(huán)境,使用conda install ipykernel命令安裝,操作后,VSCode中Jupyter應能正常運行
    2024-09-09
  • python根據(jù)日期返回星期幾的方法

    python根據(jù)日期返回星期幾的方法

    這篇文章主要介紹了python根據(jù)日期返回星期幾的方法,涉及Python針對日期模塊的相關使用技巧,需要的朋友可以參考下
    2015-07-07
  • Windows和Linux下Python輸出彩色文字的方法教程

    Windows和Linux下Python輸出彩色文字的方法教程

    這篇文章主要介紹了在Windows和Linux中Python輸出彩色文字的方法,通過設置彩色文字給大家更醒目的效果,文中給出了詳細的介紹和示例代碼,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • Mac下使用HomeBrew安裝python3

    Mac下使用HomeBrew安裝python3

    這篇文章介紹了Mac下使用HomeBrew安裝python3的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • django中賬號密碼驗證登陸功能的實現(xiàn)方法

    django中賬號密碼驗證登陸功能的實現(xiàn)方法

    這篇文章主要介紹了django中賬號密碼驗證登陸功能的實現(xiàn)方法,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • python設計tcp數(shù)據(jù)包協(xié)議類的例子

    python設計tcp數(shù)據(jù)包協(xié)議類的例子

    今天小編就為大家分享一篇python設計tcp數(shù)據(jù)包協(xié)議類的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python字符串刪除指定字符的三個方法

    Python字符串刪除指定字符的三個方法

    這篇文章主要給大家介紹了關于Python字符串刪除指定字符的三個方法,我們在使用 Python處理字符串的時候,經(jīng)常會遇到一些字符串中出現(xiàn)了指定字符,需要的朋友可以參考下
    2023-07-07
  • python數(shù)據(jù)處理之Pandas類型轉(zhuǎn)換的實現(xiàn)

    python數(shù)據(jù)處理之Pandas類型轉(zhuǎn)換的實現(xiàn)

    本文主要介紹了python數(shù)據(jù)處理之Pandas類型轉(zhuǎn)換的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04

最新評論

庆云县| 桐乡市| 潼南县| 翼城县| 诸暨市| 鄢陵县| 郓城县| 砀山县| 璧山县| 托里县| 噶尔县| 湘阴县| 苏尼特右旗| 诸暨市| 巴青县| 英德市| 卢氏县| 罗平县| 洛阳市| 奎屯市| 菏泽市| 六安市| 长海县| 茶陵县| 惠水县| 安阳县| 安化县| 南华县| 平罗县| 噶尔县| 防城港市| 苏州市| 邮箱| 宿松县| 大荔县| 马鞍山市| 化州市| 霍城县| 离岛区| 邓州市| 古田县|