Python Pandas讀取Excel表格中數據并根據時間字段篩選數據

🤟致敬讀者

  • 🟩感謝閱讀🟦笑口常開🟪生日快樂?早點睡覺

📘博主相關

  • 🟧博主信息🟨博客首頁🟫專欄推薦🟥活動信息

文章目錄

  • Python Pandas讀取Excel表格中數據并根據時間字段篩選數據
    • 1. 需求描述
    • 2. 讀取excel表格
    • 3. 篩選最新時間
    • 4. 篩選具體月份數據
    • 5.輸出結果
    • 6. 完整代碼


📃文章前言

  • 🔷文章均為學習工作中整理的筆記。
  • 🔶如有錯誤請指正,共同學習進步。

Python Pandas讀取Excel表格中數據并根據時間字段篩選數據

1. 需求描述

現在有一個excel表格,其中包含設備字段device_id、最后使用時間字段end_time以及其他字段若干
需要將表格中的每個設備對應的最新的使用時間篩選出來,并在結果中根據最新時間篩選出4月和5月
對應的設備號列表

2. 讀取excel表格

import pandas as pd# 讀取 Excel 文件
file_path = r"C:\Users\Downloads\file_record.xlsx"  # 替換為你的文件路徑
df = pd.read_excel(file_path)
# 顯示前幾行數據
# print(df.head())
# print(df)

在這里插入圖片描述

3. 篩選最新時間

先根據時間重置DataFrame對象

# Assuming 'df' is your DataFrame and 'end_time' is initially in string format
df['end_time'] = pd.to_datetime(df['end_time'])  # Convert to datetime if necessary

然后根據設備號分組,再取end_time中最新即最大時間值,并重置索引

# Group by 'device_id' and find the max (latest) 'end_time' for each group
latest_end_times = df.groupby('device_id')['end_time'].max().reset_index()

4. 篩選具體月份數據

在上面的最新時間中篩選出4月和5月的設備列表

# Filter the 'latest_end_times' DataFrame to only include devices with 'end_time' in April or May
filtered_devices = latest_end_times[(latest_end_times['end_time'].dt.month == 4) | (latest_end_times['end_time'].dt.month == 5)
]

5.輸出結果

遍歷結果中設備和時間信息

for index, row in filtered_devices.iterrows():device_id = row['device_id']latest_end_time = row['end_time']print(f"Device ID: {device_id}, Latest End Time: {latest_end_time}")# 'filtered_devices' now contains the device information for which the latest 'end_time' is in April or May

在這里插入圖片描述

6. 完整代碼

完整代碼如下

import pandas as pd# 讀取 Excel 文件
file_path = r"C:\Users\Downloads\file_record.xlsx"  # 替換為你的文件路徑
df = pd.read_excel(file_path)# 顯示前幾行數據
# print(df.head())
# print(df)# Assuming 'df' is your DataFrame and 'end_time' is initially in string format
df['end_time'] = pd.to_datetime(df['end_time'])  # Convert to datetime if necessary
# print(df.head())# Group by 'device_id' and find the max (latest) 'end_time' for each group
latest_end_times = df.groupby('device_id')['end_time'].max().reset_index()
# print(df)# Filter the 'latest_end_times' DataFrame to only include devices with 'end_time' in April or May
filtered_devices = latest_end_times[(latest_end_times['end_time'].dt.month == 4) | (latest_end_times['end_time'].dt.month == 5)
]for index, row in filtered_devices.iterrows():device_id = row['device_id']latest_end_time = row['end_time']print(f"Device ID: {device_id}, Latest End Time: {latest_end_time}")# 'filtered_devices' now contains the device information for which the latest 'end_time' is in April or May

📜文末寄語

  • 🟠關注我,獲取更多內容。
  • 🟡技術動態、實戰教程、問題解決方案等內容持續更新中。
  • 🟢《全棧知識庫》技術交流和分享社區,集結全棧各領域開發者,期待你的加入。
  • 🔵?加入開發者的《專屬社群》,分享交流,技術之路不再孤獨,一起變強。
  • 🟣點擊下方名片獲取更多內容🍭🍭🍭👇

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/91919.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/91919.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/91919.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CS231n-2017 Lecture3線性分類器、最優化筆記

圖片向量與標簽得分向量:上節講到,圖片可以被展開成一個向量,對于這個向量,假設它有D維,那么它就是D維空間的一個點,又假設我們的標簽集合總共有K種,我們可以定義一個K維標簽得分向量&#xff0…

windows wsl ubuntu 如何安裝 open-jdk8

安裝步驟 jdk dhd:~$ java -version Command java not found, but can be installed with: sudo apt install openjdk-11-jre-headless # version 11.0.20.11-0ubuntu1~22.04, or sudo apt install default-jre # version 2:1.11-72build2 sudo apt install op…

Javascript進程和線程通信

JavaScript 中的進程通信(IPC)和線程通信是實現高性能、高并發應用的核心技術,尤其在處理 CPU 密集型任務或跨環境數據交互時至關重要。以下從底層機制到應用場景的詳解:🧩 ??一、進程通信(Inter-Process…

堆堆堆,咕咕咕

1.找TopK問題要找到最前面的k個元素void swap(int *a,int *b) {int temp*a;*a*b;*btemp; } //向下調整最小堆 void minheapify(int arr[],int n,int index) {int left2*index1;int right2*index2;int smallestindex;if(left<n&&arr[left]<arr[smallest]) smalles…

n8n教程分享,從Github讀取.md文檔內容

從上一篇我們了解到了如何安裝 n8n 那么這節課我們嘗試從github的個人倉庫獲取某個文件的內容 目標如下 content/business/1.how-to-use-money.mdx 總流程圖 流程詳解 第1步&#xff1a;申請 GitHub Personal Access Token (Classic) 在gitrhub 個人 設置選項 申請 GitHub P…

分布式ID與冪等性面試題整理

分布式ID與冪等性面試題整理 文章目錄分布式ID與冪等性面試題整理一、分布式ID1. 為什么需要分布式ID&#xff1f;2. 分布式ID的核心要求3. 常見分布式ID方案(1) UUID(2) 數據庫自增(3) Redis自增(4) 雪花算法(Snowflake)(5) 美團Leaf/百度UidGenerator4. 雪花算法詳解二、冪等…

node.js學習筆記1

目錄 Node.js是什么 Node.js下載與安裝 Buffer緩沖區 一些計算機硬件基礎 程序運行的基本流程 Node.js是什么 node.js是一個JavaScript運行環境&#xff0c;或者說&#xff0c;node.js是一個可以運行JavaScript的軟件。 可以用于開發服務端、桌面端、工具類應用。 服務器…

游戲開發日志

我來為您逐行詳細講解這個 ViewMgr.cs 文件。這是一個Unity游戲中的視野管理系統&#xff0c;用于優化游戲性能。## 文件結構概覽這個文件主要包含以下幾個部分&#xff1a; 1. 數據結構和接口定義 2. 視野管理器 ViewMgr 類 3. 工具類 ViewTools讓我逐行為您講解&#xff1a;#…

使用 PlanetScope 衛星圖像繪制水質參數:以莫干湖為例

1.數據采集 我使用ArcGIS Pro 中的Planet Imagery插件下載了 2023 年 6 月 25 日的安卡拉莫干湖衛星圖像。 圖 1&#xff1a;使用 Planet 插件下載衛星圖像 圖 2&#xff1a;下載圖像的日期和傳感器選擇 我查閱的研究中指出&#xff0c;使用無降水時期的衛星圖像對于水質測定…

Docker部署前后端分離項目——多項目共享環境部署

目錄 一、簡介 二、文件目錄結構 三、前端部署流程&#xff08;多nginx&#xff09; 3.1 前端打包 3.2 編寫部署文件——項目1&#xff08;consult-system&#xff09; 3.3 編寫部署文件——項目2&#xff08;person-system&#xff09; 3.4 前端部署至linux服務器 3.5…

學習筆記(39):結合生活案例,介紹 10 種常見模型

學習筆記(39):結合生活案例&#xff0c;介紹 10 種常見模型線性回歸只是機器學習的 “冰山一角”&#xff01;根據不同的任務場景&#xff08;分類、回歸、聚類等&#xff09;&#xff0c;還有許多強大的模型可以選擇。下面我用最通俗易懂的語言&#xff0c;結合生活案例&#…

BabyAGI 是一個用于自構建自主代理的實驗框架

這個最新的 BabyAGI 是一個用于自構建自主代理的實驗框架 核心是一個新的函數框架 &#xff08;functionz&#xff09;&#xff0c;用于存儲、管理和執行數據庫中的函數。它提供了一個基于圖形的結構&#xff0c;用于跟蹤導入、依賴函數和身份驗證密鑰&#xff0c;并具有自動加…

商業秘密視域下計算機軟件的多重保護困境

作者&#xff1a;邱戈龍、柯堅豪重慶商業秘密律師廣東長昊律師事務所引言&#xff1a;計算機軟件保護的復雜性 在商業秘密保護的宏大版圖中&#xff0c;計算機軟件因其技術密集性和創新性占據著特殊地位。軟件的真正價值不僅在于其代碼本身&#xff0c;更在于其背后的流程、邏…

深入理解 Spring Boot 自動配置原理

Spring Boot 之所以能“開箱即用”&#xff0c;其核心就在于 自動配置機制&#xff08;Auto Configuration&#xff09;。本文將深入剖析 Spring Boot 自動配置的工作原理&#xff0c;從注解入手&#xff0c;再到底層的源碼機制&#xff0c;揭開 Spring Boot 背后的“魔法”。 …

Ubuntu18.04開機啟動執行腳本

#!/bin/bash # 運行 .NET Core 應用程序 dotnet /home/bruce/atg/SmartConsole.dll &# 打開瀏覽器 firefox 給文件權限sudo chmod 777 start.sh運行gnome-session-properties打開系統自帶的一個啟動程序

c語言進階 字符函數和字符串函數

字符函數和字符串函數字符函數和字符串函數1. strlenstrlen 函數詳解模擬實現1.計數器方式2.不能創建臨時變量計數器&#xff08;遞歸&#xff09;3.指針-指針的方式2. strcpystrcpy 函數詳解模擬實現3. strcatstrcat 函數詳解模擬實現4. strcmpstrcmp 函數詳解模擬實現5. strn…

(LeetCode 每日一題) 1233. 刪除子文件夾 (排序)

題目&#xff1a;1233. 刪除子文件夾 思路&#xff1a;排序&#xff0c;時間復雜度0(L*nlogn)。 文件夾a的子文件b&#xff0c;b字符串字典序列一定是大于a的&#xff0c;所以直接將字符串數組folder升序排序。每次只需判斷當前字符串&#xff0c;是否是父文件夾數組v最后一個…

集成算法學習bagging,boosting,stacking

baggibg(rf隨機森林) adaboostibg 用來展示 Project Jupyter | Home 展示源碼 Eclipse IDE | The Eclipse Foundation Eclipse 下載 |Eclipse 基金會 教程8-Adaboost決策邊界效果_嗶哩嗶哩_bilibili (23 封私信) 圖解機器學習神器&#xff1a;Scikit-Learn - 知乎 Baggi…

HOOPS SDK賦能PLM:打造全生命周期3D數據管理與協作能力

在制造業和工業領域&#xff0c;產品全生命周期管理&#xff08;PLM&#xff09; 已成為驅動企業數字化轉型、提升創新力與運營效率的核心引擎。一個高效的PLM平臺不僅需要管理海量的設計數據&#xff0c;還必須在設計、制造、供應鏈、銷售和服務等多個環節之間無縫流轉信息&am…

解決 Selenium 頁面跳轉過快導致的內容獲取問題:從原理到實踐

在使用 Selenium 進行網頁自動化操作時&#xff0c;很多開發者都會遇到一個頭疼的問題&#xff1a;頁面還沒加載完&#xff0c;代碼就已經執行到下一句了。結果要么是元素找不到&#xff0c;要么是獲取的內容不完整&#xff0c;甚至直接拋出異常。今天我們就來聊聊如何優雅地解…