亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas:WiFi 日志中每小時的唯一每日值

Pandas:WiFi 日志中每小時的唯一每日值

明月笑刀無情 2023-10-18 20:59:03
上下文:WiFi DHCP 租約記錄在系統日志中。DHCP 租用期限為 24 小時,一條記錄代表一次成功的 WiFi“會話”。有些設備(例如手機)每天會啟動多個會話,因此我們只需每 24 小時計算唯一的 Mac 地址。但我們想知道第一次連接的時間戳。最后,我們需要能夠按小時和天進行求和。TL;DR:需要顯示按小時細分的每日唯一 MAC 地址。不是按小時唯一,而是按天……然后按小時細分并求和。示例數據框:branch          timestamp  mac 0   branch_a    2020-09-01 00:00:00 48:c7:96:1d:91:af1   branch_a    2020-09-01 00:08:00 48:c7:96:1d:91:bx   2   branch_b    2020-09-01 00:36:07 48:c7:96:1d:80:ff   3   branch_b    2020-09-01 00:41:24 48:c7:96:1d:86:ff   4   branch_c    2020-09-01 00:44:33 48:c7:96:1d:76:bv腳步:按分支分組每天首次出現或唯一的 MAC 地址按小時計算 mac 地址總和這顯示了相同的 mac。branch_daily = wifi.groupby(['branch','month', 'timestamp'])['mac'].first()預期結果:branch          timestamp           mac 0   branch_a    2020-09-01 00:00:00 51   branch_a    2020-09-01 00:01:00 10   2   branch_a    2020-09-01 00:02:00 3   3   branch_a    2020-09-01 00:03:00 4   4   branch_a    2020-09-01 00:04:00 11其中 mac 是按小時計算的總和。wifi['timestamp'] = pd.to_datetime(wifi['timestamp'], format='%b %d %Y %H:%M:%S')wifi['month']     = wifi['timestamp'].dt.monthwifi['day']       = wifi['timestamp'].dt.daywifi['hour']      = wifi['timestamp'].dt.houruniq_per_day = wifi.drop_duplicates(subset=['day','mac'], keep='first')# Hourlyuniq_per_day.groupby(['branch','month','day','hour']).agg({'mac':'count'})# Dailyuniq_per_day.groupby(['branch','month','day']).agg({'mac':'count'})#...etc.
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

您可以通過三個步驟來完成此操作:

  1. 首先從時間戳中提取日期。

  2. 其次,使用 keep=first 和 subset=day/mac 執行 drop_duplicates。

  3. 第三,進行分組并計數。


查看完整回答
反對 回復 2023-10-18
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號