遍历字典 - FutureWarning:不推荐对具有不存在键的非单调 DatetimeIndexes 进行基于值的部分切片
Posted
技术标签:
【中文标题】遍历字典 - FutureWarning:不推荐对具有不存在键的非单调 DatetimeIndexes 进行基于值的部分切片【英文标题】:Iterating through dictionaries - FutureWarning: Value based partial slicing on non-monotonic DatetimeIndexes with non-existing keys is deprecated 【发布时间】:2021-05-12 23:02:42 【问题描述】:在 R 语言中使用了很长时间后,我正在转换回 Python,但我不记得存储多个参与者的时间序列的最佳方法。一些搜索建议的字典很好,但是当我遍历字典时,我收到了以下警告几次:
indexing.py:1069: FutureWarning: Value based partial slicing on non-monotonic DatetimeIndexes with non-existing keys is deprecated and will raise a KeyError in a future Version. return self._getitem_tuple_same_dim(tup)
我应该做些什么不同的事情?非常感谢!
df_motion =
datetime | x | y | z |
---|---|---|---|
2020-07-10 13:49:11.429 | 0.213234 | -0.069581 | -10.066122 |
2020-07-10 13:49:11.440 | 0.219219 | -0.047585 | -10.085126 |
2020-07-10 13:49:11.450 | 0.319219 | -0.057585 | -10.185357 |
df_motion_dict[1] = df_motion # and other pandas dataframes of motion signals where the keys are a list with missing numbers, for example 1,3,4,10.
audience =
for k,v in df_motion_dict.items():
df_motion = df_motion_dict[k]
df_motion = df_motion.loc['2020-07-10 13:55' : '2020-07-10 14:25.5', :]
if len(df_motion)>0: # remove any dataframes not containing data
audience[k]=df_motion
【问题讨论】:
【参考方案1】:我在这里遇到了同样的问题。 我搜索了 pandas 文档,但找不到替代方法,也找不到任何关于它为什么会被弃用的解释。 无论如何,我可以通过在查询之前对索引进行排序来消除警告。
试试这个:
df_motion = df_motion.sort_index().loc['2020-07-10 13:55' : '2020-07-10 14:25.5', :]
我希望这也适用于你。
【讨论】:
谢谢罗伯托!这也为我消除了错误。干杯!以上是关于遍历字典 - FutureWarning:不推荐对具有不存在键的非单调 DatetimeIndexes 进行基于值的部分切片的主要内容,如果未能解决你的问题,请参考以下文章
FutureWarning:不推荐使用非元组序列进行多维索引,使用 `arr[tuple(seq)]`
FutureWarning:不推荐将 issubdtype 的第二个参数从“float”转换为“np.floating”
timedelta64[ns] -> FutureWarning:不推荐传递 timedelta64-dtype 数据,将在未来版本中引发 TypeError
FutureWarning:不推荐使用非元组序列进行多维索引,使用 `arr[tuple(seq)]` 而不是 `arr[seq]`