Python 无法将字符串列表与datetime对象进行比较

Python 无法将字符串列表与datetime对象进行比较,python,pandas,datetime,gspread,Python,Pandas,Datetime,Gspread,我从google sheets导入了一个工作表,该工作表在['timestamp']列中碰巧有一个字符串格式的时间戳。为了通过比较过滤日期并选择一些行,我创建了一个变量,该变量采用今天的日期,另一个变量采用日期前一天的日期 然后我尝试应用一个掩码,将diaHoy和diayer与每个timestamp元素进行比较,但我不能,因为diaHoy和diayer是datetime元素,每个timestamp单元格都是字符串。我已经尝试将strtime应用于['Timestamp']列,但我不能,因为它是一

我从google sheets导入了一个工作表,该工作表在['timestamp']列中碰巧有一个字符串格式的时间戳。为了通过比较过滤日期并选择一些行,我创建了一个变量,该变量采用今天的日期,另一个变量采用日期前一天的日期

然后我尝试应用一个掩码,将diaHoy和diayer与每个timestamp元素进行比较,但我不能,因为diaHoy和diayer是datetime元素,每个timestamp单元格都是字符串。我已经尝试将strtime应用于['Timestamp']列,但我不能,因为它是一个列表

样本数据:

df = pd.DataFrame ({'16/10/2019 14:56:36':['A','B'],'21/10/2019 14:56:36':['C','D'],'21/10/2019 14:56:36':['E','F']

diaHoy = 2019/10/21

diaAyer = 2019/10/20


您可以将时间戳字符串的元组转换为datetime对象列表:

import pandas as pd 
df2 = pd.DataFrame({pd.to_datetime(key):df[key] for key in df})

通常添加样本数据和所需输出,这样更容易/更快地提供帮助。尝试将pd.to_datetime应用于字符串系列请查看并提供示例输入和输出,如果您使用的是pandas dataframe,则dataframe df1的宽度为3列。如果我没有指定to_datetime,它不是应用于所有列吗?to_datetime可以只针对一个列与当前日期进行比较吗?如果我理解正确,这应该可以工作。您可以将旧dataframe的键转换为datetime对象,并定义一个新的dataframe:df2=pd.dataframe{pd.to_datetimekey:df[key]for key in df}
df = pd.DataFrame ({'21/10/2019 14:56:36':['C','D'],'21/10/2019 14:56:36':['E','F']
import pandas as pd 
df2 = pd.DataFrame({pd.to_datetime(key):df[key] for key in df})