【发布时间】:2021-06-04 11:31:03
【问题描述】:
通过 loc 和 iloc 方法,Pandas 允许我们对数据帧进行切片。不过,当列是日期时间对象时,我仍然无法执行此操作。
例如,假设如下代码生成的数据框:
d = {'col1': [1], 'col2': [2],'col3': [3]}
df = pd.DataFrame(data=d)
dates = ['01-01-2001','02-02-2002','03-03-2003']
dates = pd.to_datetime(dates).date
df.columns= dates
让我们尝试通过 dfloc 对数据帧的前两列进行切片:
df.loc[0,'01-01-2001':'02-02-2002']
我们得到以下 TypeError:'
如何解决?
【问题讨论】:
-
更改
dates = pd.to_datetime(dates).date->dates = pd.to_datetime(dates)应该这样做。 -
@Ch3steR,你能解释一下为什么会这样吗?
标签: python pandas dataframe datetime slice