pandas中timedelta格式只显示日期,不显示时间
时间: 2024-01-23 20:02:31 浏览: 19
如果你想要将 `timedelta` 格式化为只显示日期,可以使用 `dt.days` 属性获取天数,并将其转换为 `timedelta` 格式。下面是一个示例代码:
```python
import pandas as pd
# 创建一个 timedelta 对象,表示 2 天 12 小时 30 分钟
td = pd.Timedelta(days=2, hours=12, minutes=30)
# 将 timedelta 格式化为只显示日期
date_only = pd.Timedelta(td.days, unit='d')
print(date_only)
```
这段代码将创建一个 `timedelta` 对象 `td`,表示 2 天 12 小时 30 分钟。然后使用 `pd.Timedelta()` 函数将其转换为只包含天数的 `timedelta` 对象 `date_only`。最后输出结果如下:
```
2 days
```
注意,这种方式只适用于 `timedelta` 对象,如果是 `Timestamp` 或 `Timedelta64[ns]` 对象,需要先使用 `floor` 方法将时间戳向下取整到日期。例如:
```python
import pandas as pd
# 创建一个 Timestamp 对象,表示 2021 年 8 月 20 日 12:30:00
ts = pd.Timestamp('2021-08-20 12:30:00')
# 将 Timestamp 格式化为只显示日期
date_only = ts.floor('D')
print(date_only)
```
这段代码将创建一个 `Timestamp` 对象 `ts`,表示 2021 年 8 月 20 日 12:30:00。然后使用 `floor` 方法将其向下取整到日期,得到只包含日期的 `Timestamp` 对象 `date_only`。最后输出结果如下:
```
2021-08-20 00:00:00
```