我从Google工作表导入了一个工作表,该工作表恰好在['Timestamp']列中具有字符串格式的时间戳。为了通过比较过滤日期并选择一些行,我创建了一个变量,该变量采用今天的日期(diaHoy),而另一个取自前一天(diaAyer)
然后,我尝试应用一个将diaHoy和diaAyer与每个时间戳元素进行比较的掩码,但是我不能这样做,因为diaHoy和diaAyer是datetime元素,并且每个时间戳单元格都是一个字符串。我尝试将strptime应用于['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
import pandas as pd
diaHoy = datetime.today().date()
diaAyer = diaHoy + timedelta(days = -1)
wks1 = gc.open_by_url("CODE_URL").sheet1
df1 = wks1.get_all_values()
df1.pop(0)
mask1 = (df1 > diaAyer) & (df1 <= diaHoy)
pegado1 = df1.loc[mask1]
我希望通过与diaHoy和diaAyer进行比较,掩码可以按第一列中的日期过滤出行。
过滤器:介于21/10/2019和20/10/2019
预期结果:
df = pd.DataFrame ({'21/10/2019 14:56:36':['C','D'],'21/10/2019 14:56:36':['E','F']
答案 0 :(得分:0)
您可以将时间戳字符串的元组转换为日期时间对象的列表:
import pandas as pd
df2 = pd.DataFrame({pd.to_datetime(key):df[key] for key in df})