pandas日期处理相关

日期格式转换

python 复制代码
QhSelectData["交易日期"] = pd.to_datetime(QhSelectData["交易日期"], format="%Y-%m-%d")  # 转换日期格式

日期处理相关

dt对象使用属性

  • dt.year
  • dt.month
  • dt.day
  • dt.dayofweek
  • dt.dayofyear
  • dt.is_leap_year
  • dt.quarter
  • dt.weekday_name
python 复制代码
获取年、月、日,具体代码如下:
df['年'] = df['日期'].dt.year
df['月'] = df['日期'].dt.month
df['日'] = df['日期'].dt.day

获取日期所处的星期数:
df['星期几'] = df['日期'].dt.day_name()

判断日期是否在年底最后一天:
df['是否年底'] = df['日期'].dt.is_year_end

获取日期所属的季度:
df['季度'] = df['日期'].dt.quarter
4获取日期区间

当 DataFrame 对象使用日期为索引时,可以输入日期或日期区间获取数据。

设置日期为索引:

python 复制代码
df1.set_index(df1['组合日期'], inplace=True)

获取 2021 年的数据

python 复制代码
df1.loc['2021']

获取 2022 年至 2020 年的数据

python 复制代码
df1.loc['2022':'2020']

获取具体某一天的数据(如 2022 年 5 月 6 日)

五、其他常用日期操作

在实际工作中,我们可能还需要进行一些其他常用的日期操作,如计算日期差、日期偏移、日期筛选等。下面是一些实用示例。

  1. 计算日期差

要计算两个日期之间的差值,可以直接相减:

delta = df1['组合日期'].max() - df1['组合日期'].min()

print(delta)

  1. 日期偏移

要在日期上进行加减操作,可以使用 pd.DateOffset 对象。例如,给定一个日期,我们想要找到它之后的 30 天:

from pandas.tseries.offsets import DateOffset

date = pd.to_datetime('2022-05-01')

new_date = date + DateOffset(days=30)

print(new_date)

  1. 日期筛选

在处理日期时,我们可能需要根据日期进行筛选。例如,我们想要筛选出 DataFrame 中 2021 年的数据:

mask = (df1['组合日期'] >= '2021-01-01') & (df1['组合日期'] <= '2021-12-31')

filtered_df = df1[mask]

print(filtered_df)

  1. 日期分组统计

在数据分析过程中,我们可能需要对日期进行分组统计。例如,我们想要按年份统计某个 DataFrame 的数据:

df1['年份'] = df1['组合日期'].dt.year

grouped_df = df1.groupby('年份').count()

print(grouped_df)

这些只是一些常见的日期操作示例。实际上,Pandas 提供了丰富的日期处理工具,可以帮助我们轻松应对各种复杂的日期问题。掌握这些方法,将有助于提高我们在数据分析工作中的效率。

相关推荐
laplace012318 小时前
LangChain 1.0 入门实战(Part 1)详细笔记
笔记·python·langchain·numpy·pandas
Font Tian1 天前
Pandas 3.0 全解:从默认字符串类型到 Copy-on-Write 的一场“内存模型重构”
python·重构·数据分析·pandas
liu****1 天前
04_Pandas数据分析入门
python·jupyter·数据挖掘·数据分析·numpy·pandas·python常用工具
liu****2 天前
02_Pandas_数据结构
数据结构·python·pandas·python基础
渡我白衣2 天前
计算机组成原理(11):加法器
python·机器学习·numpy·pandas·matplotlib·计组·数电
falldeep3 天前
Pandas入门指南
数据结构·算法·leetcode·pandas
墨上烟雨3 天前
Pandas 数据清洗详解
pandas
万粉变现经纪人3 天前
如何解决 pip install 代理报错 SOCKS5 握手失败 ReadTimeoutError 问题
java·python·pycharm·beautifulsoup·bug·pandas·pip
晨晨渝奇3 天前
pandas 中将两个 DataFrame 分别导出到同一个 Excel 同一个工作表(sheet1)的 A1 单元格和 D1 单元格
excel·pandas
jarreyer4 天前
python,numpy,pandas和matplotlib版本对应关系
python·numpy·pandas