📌  相关文章
📜  从 pandas 数据框列中删除 hh:mm:ss - Python (1)

📅  最后修改于: 2023-12-03 14:49:18.730000             🧑  作者: Mango

从 pandas 数据框列中删除 hh:mm:ss

假设你的 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' 的日期字符串。