日期格式转换
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 日)
五、其他常用日期操作
在实际工作中,我们可能还需要进行一些其他常用的日期操作,如计算日期差、日期偏移、日期筛选等。下面是一些实用示例。
- 计算日期差
要计算两个日期之间的差值,可以直接相减:
delta = df1['组合日期'].max() - df1['组合日期'].min()
print(delta)
- 日期偏移
要在日期上进行加减操作,可以使用 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)
- 日期筛选
在处理日期时,我们可能需要根据日期进行筛选。例如,我们想要筛选出 DataFrame 中 2021 年的数据:
mask = (df1['组合日期'] >= '2021-01-01') & (df1['组合日期'] <= '2021-12-31')
filtered_df = df1[mask]
print(filtered_df)
- 日期分组统计
在数据分析过程中,我们可能需要对日期进行分组统计。例如,我们想要按年份统计某个 DataFrame 的数据:
df1['年份'] = df1['组合日期'].dt.year
grouped_df = df1.groupby('年份').count()
print(grouped_df)
这些只是一些常见的日期操作示例。实际上,Pandas 提供了丰富的日期处理工具,可以帮助我们轻松应对各种复杂的日期问题。掌握这些方法,将有助于提高我们在数据分析工作中的效率。