Python语法:如何声明切片标签而不是在p中

2024-04-16 08:55:55 发布

您现在位置:Python中文网/ 问答频道 /正文

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randn(4, 2), columns=['c1', 'c2'], index=list('abcd'))
# valid slice label
df.loc['a':'d']
# invalid syntax
labels = 'a':'d'; df.loc[labels]

  File "<stdin>", line 7
    labels = 'a':'d'; df.loc[labels]
                ^
SyntaxError: invalid syntax

包装切片标签的确切类型是什么,如“predicate”或“criteria”?


Tags: columnsimportnumpydataframepandasdflabelsas
1条回答
网友
1楼 · 发布于 2024-04-16 08:55:55

这个查询本质上是关于pandas标签切片的内部实现(这对我来说仍然是一个黑匣子,因为我没有深入研究源代码)。完整正确的代码应为:

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randn(4, 2), columns=['c1', 'c2'], index=list('abcd'))
# valid slice label
df.loc['a':'d']
# invalid syntax
# labels = 'a':'d'; df.loc[labels]
# valid syntax
labels = pd.IndexSlice['a':'d']; df.loc[labels]

还有一个很好的熊猫切片的例子:Pandas how does IndexSlice work

谢谢大家的评论

相关问题 更多 >