将 Pandas 中的字符串转换为日期时间格式
问题:
给定一个 Pandas 数据框包含字符串日期值的列,如何将这些值转换为日期时间 格式?此外,如何根据指定的日期范围过滤行?
解决方案:
转换为日期时间格式:
要将 Pandas 中的字符串转换为日期时间格式,请使用 to_datetime 函数。一般来说,解析器可以自动确定输入字符串的格式,从而无需显式格式规范。
import pandas as pd df = pd.DataFrame({'I_DATE': ['28-03-2012 2:15:00 PM', '28-03-2012 2:17:28 PM', '28-03-2012 2:50:50 PM']}) df['I_DATE'] = pd.to_datetime(df['I_DATE'])
此代码将 I_DATE 列转换为日期时间格式。输出如下所示:
I_DATE 0 2012-03-28 14:15:00 1 2012-03-28 14:17:28 2 2012-03-28 14:50:50
访问日期组件:
转换后,您可以访问各个日期组件,例如日期、时间或日期,使用 dt 访问器。例如:
# Get the date only df['I_DATE'].dt.date # Get the time only df['I_DATE'].dt.time
根据日期范围筛选行:
要根据日期范围筛选行,请使用以下语法:
df[(df['date'] > 'start_date') & (df['date'] < 'end_date')]
例如,过滤日期在 '2015-02-04' 和'2015-02-10':
df[(df['date'] > '2015-02-04') & (df['date'] < '2015-02-10')]
以上是如何在 Pandas 中将字符串日期转换为日期时间对象并按日期范围进行过滤?的详细内容。更多信息请关注PHP中文网其他相关文章!