📅  最后修改于: 2023-12-03 14:49:18.730000             🧑  作者: Mango
假设你的 pandas 数据框中有一个列,它包含了一个日期时间字符串,如 '2019-01-12 20:30:00',但你只需要日期且不需要时间信息,那么如何从该列中删除 hh:mm:ss?
很简单,你可以使用 pandas 中的 pd.to_datetime()
函数将该列转换为日期时间格式,并再次使用 pandas 中的 dt.date
方法仅保留日期,最后将结果赋值给原始列即可。下面是完整的代码示例:
import pandas as pd
# 创建示例数据框
df = pd.DataFrame({'date_time': ['2019-01-12 20:30:00', '2019-01-13 10:12:30']})
# 将 date_time 列转换为日期时间格式
df['date_time'] = pd.to_datetime(df['date_time'])
# 只保留日期信息
df['date_time'] = df['date_time'].dt.date
# 输出结果
print(df)
输出结果为:
date_time
0 2019-01-12
1 2019-01-13
可以看到,我们成功地从日期时间字符串中删除了 hh:mm:ss 信息,只留下了日期信息。
注意:这里使用了 dt.date
方法,而不是 dt.strftime()
方法。前者返回的是日期格式,后者则返回的是字符串格式。如果你需要指定自定义的日期格式,可以使用 dt.strftime()
方法。例如:
df['date_time'] = df['date_time'].dt.strftime('%Y-%m-%d')
这将仅保留类似 '2019-01-12' 的日期字符串。