有谁知道为什么这会给出 PerformanceWarning?
d=pd.DataFrame(
[
[1,2,3],
[1,2,4],
[1,None,5],
[2,3,5],
],
columns=['i','j','k']
)
print d.dtypes
d = d.set_index(['i','j'])['k']
d = d.sort_index()
print d.loc[(2,3)] # PerformanceWarning: indexing past lexsort depth may impact performance.
Run Code Online (Sandbox Code Playgroud)
我从文档中的理解是 PerformanceWarning 遵循不排序索引(索引已排序)。
事实证明这是一个开放的错误:
@ayhan 的评论提供了解决方法:
d = d.sort_index(level=d.index.names)
Run Code Online (Sandbox Code Playgroud)
这应该是以下的默认行为:
d = d.sort_index()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1903 次 |
| 最近记录: |