【发布时间】:2019-10-21 19:31:36
【问题描述】:
我从谷歌工作表导入了一个工作表,该工作表恰好在 ['Timestamp'] 列中有一个字符串格式的时间戳。为了通过比较过滤日期并选择一些行,我创建了一个变量,它采用今天的日期(diaHoy)和另一个来自前一天的变量(diaAyer)
然后我尝试应用一个掩码,将 diaHoy 和 diaAyer 与每个时间戳元素进行比较,但我不能,因为 diaHoy 和 diaAyer 是日期时间元素,每个时间戳单元格都是一个字符串。我尝试将 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 进行比较来过滤掉行
过滤器:2019 年 10 月 21 日至 2019 年 10 月 20 日之间
预期结果:
df = pd.DataFrame ({'21/10/2019 14:56:36':['C','D'],'21/10/2019 14:56:36':['E','F']
【问题讨论】:
-
习惯上添加样本数据和所需的输出,这样更容易/更快地提供帮助。尝试将
pd.to_datetime应用于字符串系列 -
如果您使用的是 pandas 数据框,请查看 How to make good pandas examples 并提供示例输入和输出
标签: python pandas datetime gspread