pandas 混淆Panda语法与`loc`

5jvtdoz2  于 2023-06-20  发布在  其他
关注(0)|答案(1)|浏览(63)

我听说loc支持布尔数组输入而不是标签。如果数组太短,loc假设缺失值为False。但是,当尝试使用语法elections.loc[[True, False, False, True], [True, False, False, True]]时,它返回类似IndexError: Boolean index has wrong length: 4 instead of 23的错误。
新版本中是否取消了此功能?我真的很困惑。
我真的是一个了解这个问题的人。

mf98qq94

mf98qq941#

据我所知,Pandas不允许“短”面具。
在版本0.25.3、1.2.5、1.4.4、1.5.3和2.0.2上测试,错误始终为:

IndexError: Boolean index has wrong length: 4 instead of 23

# Or for older versions

IndexError: Item wrong length 4 instead of 23.

可重现错误:

import pandas as pd
import numpy as np

elections = pd.DataFrame(np.random.random((23, 4)))  # or (4, 23)
elections.loc[[True, False, False, True], [True, False, False, True]]

相关问题