我的代码破坏了以下断言:
assert(type(series_one) == pandas.TimeSeries)
我传递的类型似乎是'pandas.core.series.Series',但所述系列的索引是'pandas.tseries.index.DatetimeIndex'。
我该如何解决这个问题?
答案 0 :(得分:0)
这里有两个令人困惑的地方。首先, } else if (entry.isDirectory) {
// directory drag prevent
//dirReader = entry.createReader();
//readEntries();
} else {
具有索引,并且值。索引可能有不同的类型,例如pandas.Series
,CategoricalIndex
,MultiIndex
和您的TimeDeltaIndex
。
其次,在断言中,键入检查整个系列,而不是索引。此外,建议使用DatetimeIndex
进行类型检查,有关详情,请参阅here:
isinstance
要检查系列,您使用了assert(isinstance(series_one, pandas.Series))
,但这已经过折旧,应该替换为pandas.TimeSeries
:
pandas.Series
将自动打印未来警告,表示将来不应使用# creating pandas.TimeSeries
dummy = pd.TimeSeries([1,2,3])
FutureWarning: TimeSeries is deprecated. Please use Series
。
总而言之,请了解您想要检查断言的内容,无论是整个系列还是系列索引。如果您要检查系列,请使用TimeSeries
而不是TimeSeries。