Python酷库之旅-第三方库Pandas(154)

Python酷库之旅-第三方库Pandas(154)

目录

一、用法精讲

701、pandas.Timestamp.utcnow方法

701-1、语法

701-2、参数

701-3、功能

701-4、返回值

701-5、说明

701-6、用法

701-6-1、数据准备

701-6-2、代码示例

701-6-3、结果输出

702、pandas.Timestamp.utcoffset方法

702-1、语法

702-2、参数

702-3、功能

702-4、返回值

702-5、说明

702-6、用法

702-6-1、数据准备

702-6-2、代码示例

702-6-3、结果输出

703、pandas.Timestamp.utctimetuple方法

703-1、语法

703-2、参数

703-3、功能

703-4、返回值

703-5、说明

703-6、用法

703-6-1、数据准备

703-6-2、代码示例

703-6-3、结果输出

704、pandas.Timestamp.weekday方法

704-1、语法

704-2、参数

704-3、功能

704-4、返回值

704-5、说明

704-6、用法

704-6-1、数据准备

704-6-2、代码示例

704-6-3、结果输出

705、pandas.arrays.DatetimeArray类

705-1、语法

705-2、参数

705-3、功能

705-4、返回值

705-5、说明

705-6、用法

705-6-1、数据准备

705-6-2、代码示例

705-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

701、pandas.Timestamp.utcnow方法
701-1、语法
# 701、pandas.Timestamp.utcnow方法 classmethod pandas.Timestamp.utcnow() Return a new Timestamp representing UTC day and time.
701-2、参数

        无

701-3、功能

        用于获取当前的UTC时间戳。

701-4、返回值

        返回一个pandas.Timestamp对象,表示当前的UTC时间戳。

701-5、说明

        无

701-6、用法
701-6-1、数据准备
701-6-2、代码示例
# 701、pandas.Timestamp.utcnow方法 import pandas as pd # 获取当前的UTC时间戳 utc_now = pd.Timestamp.utcnow() print(utc_now)
701-6-3、结果输出
# 701、pandas.Timestamp.utcnow方法 # 2024-10-16 12:08:11.818230+00:00
702、pandas.Timestamp.utcoffset方法
702-1、语法
# 702、pandas.Timestamp.utcoffset方法 pandas.Timestamp.utcoffset() Return utc offset.
702-2、参数

        无

702-3、功能

        用于获取时间戳的UTC偏移量,它属于pandas库中的Timestamp对象,用于处理时间序列数据。

702-4、返回值

        返回一个timedelta对象,表示该Timestamp与UTC时间的时差,这在处理具有时区信息的时间戳时尤其重要,因为它能够帮助你理解本地时间与UTC时间之间的差异。

702-5、说明

        无

702-6、用法
702-6-1、数据准备
702-6-2、代码示例
# 702、pandas.Timestamp.utcoffset方法 import pandas as pd # 创建一个带时区的Timestamp timestamp_with_tz = pd.Timestamp('2024-10-16 20:15:00', tz='Asia/Shanghai') # 获取UTC偏移量 utc_offset_with_tz = timestamp_with_tz.utcoffset() print(utc_offset_with_tz) # 创建一个没有时区的Timestamp timestamp_without_tz = pd.Timestamp('2024-10-16 20:15:00') # 获取UTC偏移量 utc_offset_without_tz = timestamp_without_tz.utcoffset() print(utc_offset_without_tz) 
702-6-3、结果输出
# 702、pandas.Timestamp.utcoffset方法 # 8:00:00 # None
703、pandas.Timestamp.utctimetuple方法
703-1、语法
# 703、pandas.Timestamp.utctimetuple方法 pandas.Timestamp.utctimetuple() Return UTC time tuple, compatible with time.localtime().
703-2、参数

        无

703-3、功能

        将Timestamp对象转换为UTC时区下的时间元组,忽略时区信息。

703-4、返回值

        返回一个time.struct_time对象,该对象是Python标准库中的一个元组类型,表示UTC时区下的时间。

time.struct_time 对象的格式:

time.struct_time(tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)

其中,各个字段的含义如下:

  • tm_year: 年份(4位数字)
  • tm_mon: 月份(1-12)
  • tm_mday: 日(1-31)
  • tm_hour: 小时(0-23)
  • tm_min:分钟(0-59)
  • tm_sec:秒(0-59)
  • tm_wday:星期几(0-6,0表示星期一)
  • tm_yday:一年中的第几天(1-366)
  • tm_isdst:夏令时标志(在这个方法中总是返回0,因为UTC不使用夏令时)
703-5、说明

        无

703-6、用法
703-6-1、数据准备
703-6-2、代码示例
# 703、pandas.Timestamp.utctimetuple方法 import pandas as pd # 创建一个Timestamp对象 ts = pd.Timestamp('2024-10-15 20:25:00', tz='US/Eastern') # 使用utctimetuple()方法 utc_time = ts.utctimetuple() print(utc_time) print(f"Year: {utc_time.tm_year}") print(f"Month: {utc_time.tm_mon}") print(f"Day: {utc_time.tm_mday}") print(f"Hour: {utc_time.tm_hour}") print(f"Minute: {utc_time.tm_min}") print(f"Second: {utc_time.tm_sec}")
703-6-3、结果输出
# 703、pandas.Timestamp.utctimetuple方法 # time.struct_time(tm_year=2024, tm_mon=10, tm_mday=16, tm_hour=0, tm_min=25, tm_sec=0, tm_wday=2, tm_yday=290, tm_isdst=0) # Year: 2024 # Month: 10 # Day: 16 # Hour: 0 # Minute: 25 # Second: 0
704、pandas.Timestamp.weekday方法
704-1、语法
# 704、pandas.Timestamp.weekday方法 pandas.Timestamp.weekday() Return the day of the week represented by the date. Monday == 0 … Sunday == 6.
704-2、参数

        无

704-3、功能

        用于返回一个整数字段,表示该日期是星期几,星期一对应的值为0,星期二为1,依此类推,星期日为6。

704-4、返回值

        返回一个整数字段,表示该日期是星期几。

704-5、说明

        无

704-6、用法
704-6-1、数据准备
704-6-2、代码示例
# 704、pandas.Timestamp.weekday方法 import pandas as pd date = pd.Timestamp('2024-10-16') weekday = date.weekday() print(weekday)
704-6-3、结果输出
# 704、pandas.Timestamp.weekday方法 # 2
705、pandas.arrays.DatetimeArray类
705-1、语法
# 705、pandas.arrays.DatetimeArray类 class pandas.arrays.DatetimeArray(values, dtype=None, freq=_NoDefault.no_default, copy=False) Pandas ExtensionArray for tz-naive or tz-aware datetime data. Warning DatetimeArray is currently experimental, and its API may change without warning. In particular, DatetimeArray.dtype is expected to change to always be an instance of an ExtensionDtype subclass. Parameters: valuesSeries, Index, DatetimeArray, ndarray The datetime data. For DatetimeArray values (or a Series or Index boxing one), dtype and freq will be extracted from values. dtypenumpy.dtype or DatetimeTZDtype Note that the only NumPy dtype allowed is ‘datetime64[ns]’. freqstr or Offset, optional The frequency. copybool, default False Whether to copy the underlying array of values.
705-2、参数

705-2-1、values(必须):array-like,用于创建DatetimeArray的基本数据,通常是一个日期时间的数组,如字符串、整数时间戳或已转换为日期时间格式的其他数据。

705-2-2、dtype(可选,默认值为None):str或np.dtype或None,指定数据的类型,可以是字符串形式的dtype或者是numpy 数据类型,如果不提供,pandas将根据values自动推断。

705-2-3、freq(可选,默认值为_NoDefault.no_default):str, DateOffset或者None,指定时间序列的频率,例如'D'表示日,'H'表示小时等,如果没有指定,默认值为None,这对于时间序列的数据分析非常关键,因为频率可以影响到数据的时序操作。

705-2-4、copy(可选,默认值为False):布尔值,是否创建数据的副本,如果设置为True,尽管values可能是可变的,依然会强制创建一个新的数组,这在避免对原数据的意外修改时可能会有用。

705-3、功能

        用于提供高效的、矢量化的时间序列数据表示形式,它允许快速的时间戳开发、切片、时间运算等操作,是处理时间相关数据时不可或缺的组成部分。

705-4、返回值

        构造完成后,DatetimeArray将返回一个表示日期时间的对象,该对象能够支持许多pandas时间序列功能,包括但不限于索引操作、时间戳反向转换、缺失值处理等。

705-5、说明

        无

705-6、用法
705-6-1、数据准备
705-6-2、代码示例
# 705、pandas.arrays.DatetimeArray类 import pandas as pd # 创建一个日期时间的数组 date_strings = ["2024-10-16", "2024-10-17", "2024-10-18"] # 转换为DatetimeArray datetime_array = pd.arrays.DatetimeArray(pd.to_datetime(date_strings)) print("DatetimeArray:") print(datetime_array) # 访问特定的日期 print("\n访问特定日期:") print(datetime_array[1]) # 访问第二个日期 # 进行日期运算,例如增加一天 print("\n增加一天:") new_dates = datetime_array + pd.Timedelta(days=1) print(new_dates) # 检查频率(此例中没有设置频率,所以会是 None) print("\n频率:") print(datetime_array.freq)
705-6-3、结果输出
# 705、pandas.arrays.DatetimeArray类 # DatetimeArray: # <DatetimeArray> # ['2024-10-16 00:00:00', '2024-10-17 00:00:00', '2024-10-18 00:00:00'] # Length: 3, dtype: datetime64[ns] # # 访问特定日期: # 2024-10-17 00:00:00 # # 增加一天: # <DatetimeArray> # ['2024-10-17 00:00:00', '2024-10-18 00:00:00', '2024-10-19 00:00:00'] # Length: 3, dtype: datetime64[ns] # # 频率: # None

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

Read more

《二分查找:从 “折半” 到 “精准命中” 的算法逻辑拆解》

《二分查找:从 “折半” 到 “精准命中” 的算法逻辑拆解》

前引:算法面试中,二分查找是 “高频考点” 之一,它不仅能考察求职者的逻辑思维,还能检验对时间复杂度优化的理解。而在实际开发中,二分查找更是处理 “有序数据查找” 问题的最优解无论是缓存查找、数据索引,还是参数优化,都能看到它的身影。但很多开发者对二分查找的理解停留在 “基础用法”,忽略了其在复杂场景下的拓展应用,也未能规避常见的边界错误。本文将结合面试真题和实战案例,全面解析二分查找的原理、优化技巧、场景延伸,帮你既能轻松应对面试,又能在实际开发中高效运用,真正发挥二分查找的 “效率优势”! 目录 【一】“二分”算法原理剖析 【二】简单的二分查找 (1)题目链接 (2)算法解析 【三】找目标范围 (1)题目链接 (2)算法解析 (3)代码 【四】搜索插入位置 (1)题目链接 (2)算法解析

By Ne0inhk
优选算法——滑动窗口2

优选算法——滑动窗口2

优选算法——滑动窗口 1.1004. 最大连续1的个数 III 题目描述 思路分析 这道题的核心是:找一个最长的子数组,其中最多包含 k 个 0。 经典的 滑动窗口 问题。 为什么用滑动窗口? * 我们需要连续区间 → 滑动窗口天然适合 * 窗口内维护「0 的个数 ≤ k」这个约束 * 窗口扩张:右指针右移,遇到 0 就计数 * 窗口收缩:当 0 的个数超过 k,左指针右移直到满足条件 算法流程 1. 初始化:left = 0, zeroCount = 0, maxLen = 0 2. 遍历数组,right 指针右移: -

By Ne0inhk
【优选算法必刷100题】第014题(滑动窗口):找到字符串中所有字母异位词

【优选算法必刷100题】第014题(滑动窗口):找到字符串中所有字母异位词

🔥个人主页:Cx330🌸 ❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C++知识分享》 《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔 🌟心向往之行必能至 🎥Cx330🌸的简介: 目录 前言: 找到字符串中所有字母异位词 解法(滑动窗口+哈希表): 算法思路: C++代码演示: 算法总结&&笔记展示: 总结: 前言: 聚焦算法题实战,系统讲解三大核心板块:“精准定位最优解”——优选算法,“简化逻辑表达,系统性探索与剪枝优化”——递归与回溯,“以局部最优换全局高效”——贪心算法,讲解思路与代码实现,帮助大家快速提升代码能力 滑动窗口专题 找到字符串中所有字母异位词 题目链接: 438. 找到字符串中所有字母异位词 - 力扣(LeetCode) 题目描述: 题目示例:

By Ne0inhk
【Python基础:语法第四课】列表和元组——Python 里的“爱情”:列表善变,元组长情

【Python基础:语法第四课】列表和元组——Python 里的“爱情”:列表善变,元组长情

🎬 个人主页:艾莉丝努力练剑 ❄专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享》 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬 艾莉丝的简介: 文章目录 * 1 ~> 列表和元组的概念 * 1.1 列表和元组概念 * 1.1.1 概念初识 * 1.1.2 列表是一种让程序猿在代码中批量表示/保存数据的方式 * 1.1.3 元组和列表相比,是非常相似的,只是列表中放哪些元素可以修改调整,元组中放的元素是创建元组的时候就设定好的,不能修改调整 * 1.2 最佳实践 * 2 ~> 创建列表和访问下标

By Ne0inhk