Python中如何从DataFrame的Timestamp列提取日期?
在Python的DataFrame中提取Timestamp列的日期部分
下面是几种实用的方法,直接针对Timestamp类型列提取日期:
提取Python date对象
使用dt.date属性可以直接获取纯日期的datetime.date对象:import pandas as pd # 示例DataFrame df = pd.DataFrame({ "timestamp": pd.to_datetime(["2024-03-10 08:45", "2024-03-11 16:20", "2024-03-12 23:50"]) }) # 提取日期 df["date"] = df["timestamp"].dt.date如果需要转为字符串格式,追加
astype(str)即可:df["date_str"] = df["timestamp"].dt.date.astype(str)保留Timestamp类型(时间置为00:00)
要是想保持列类型为Timestamp但只保留日期信息,用dt.normalize()或者dt.floor('D'):# 方法1:normalize将时间部分重置为00:00:00 df["date_timestamp"] = df["timestamp"].dt.normalize() # 方法2:按天向下取整,效果和normalize一致 df["date_timestamp"] = df["timestamp"].dt.floor('D')提取指定格式的字符串日期
用dt.strftime()可以自定义日期字符串格式,比如%Y-%m-%d、%m/%d/%Y等:# 提取YYYY-MM-DD格式的字符串 df["date_str"] = df["timestamp"].dt.strftime("%Y-%m-%d") # 提取MM/DD/YYYY格式的字符串 df["date_str_md"] = df["timestamp"].dt.strftime("%m/%d/%Y")
注意:如果你的列还不是Timestamp类型,先通过pd.to_datetime(df["your_col"])转换为datetime类型后再使用上述方法。
内容的提问来源于stack exchange,提问作者Shreyas Balakrishna
相关产品推荐
相关产品推荐

