【发布时间】:2014-08-25 22:33:36
【问题描述】:
我正在尝试使用between_time 函数。我已将字符串类型时间格式化为日期时间
dataset['TimeStamp'] = pd.to_datetime(dataset['TimeStamp'],format)
我定义了搜索开始时间和结束时间:
start = datetime.time(9,40,0)
end = datetime.time(10,00,0)
然后我打电话给dataset['TimeStamp'].between_time(start, end)
这是我得到的错误:
TypeError: Index must be DatetimeIndex
请问我该如何解决。谢谢
【问题讨论】:
-
那么您的索引是否像错误提示的那样是日期时间索引?
-
我不知道,如何检查?我需要为数据框创建索引吗?
-
Dataframes 总是有一个索引,你可以通过
type(df.index)来检查类型,如果你从未设置过它很可能是一个 int64 自动生成的 -
我读取这样的数据:dataset = pd.read_csv('date.txt',header=0,delimiter=' '),我应该添加什么?我看到有一个索引属性,但我不知道如何使用它。谢谢
-
在这种情况下,pandas 会自动生成它,您可以在加载数据后随时设置它,所以在您的情况下
dataset.set_index(keys='TimeStamp',inplace=True)应该可以工作