如何从含Last Updated列的DataFrame中提取指定更新时间的子集
问题原因及解决方法
报错原因
- 时间值没有用引号包裹,Python无法识别为合法的字符串或时间类型,会把
6/13/2020解析为除法运算,后面直接接时间字符触发语法错误 - 原始代码末尾缺少匹配的右方括号,语法不完整
正确实现步骤
- 首先确保
Last Updated列是datetime类型(如果读取数据时默认解析为字符串,需要先转换):
import pandas as pd # 转换列类型为datetime df['Last Updated'] = pd.to_datetime(df['Last Updated'])
- 执行筛选操作,时间值用字符串包裹即可,pandas会自动匹配datetime类型的列做等值判断:
updated_data = df[df['Last Updated'] == '2020-06-13 03:33:14']
补充说明
如果你的Last Updated列包含毫秒级精度的时间,直接等值判断可能匹配不到对应记录,可以先把时间精度截断到秒再筛选:
updated_data = df[df['Last Updated'].dt.floor('s') == '2020-06-13 03:33:14']
内容的提问来源于stack exchange,提问作者Ibu
相关产品推荐
相关产品推荐

