首页 > 解决方案 > 熊猫 iloc 布尔索引

问题描述

我正在阅读熊猫文档 https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#boolean-indexing 有一个警告部分显示“警告 iloc 支持两种布尔索引...... ." 但是文本和示例只给出了一种有效的形式:df.iloc[s.values, 1]. 另一种形式被认为是错误:“df.iloc[s, 1]会引发ValueError”所以我很困惑iloc支持的第二个布尔索引在哪里?也许这些人称无效表格为“支持”?

标签: pandasindexing

解决方案


根据文档:-

df.iloc[s.values,1]给出一个有效的输出,因为s.values返回一个ndarray布尔值,所以这是第一种形式

df[s].iloc[:,1]也给出了一个有效的输出“也许”它的第二种形式。

谁知道?

因为官方文档中没有提到

.

.

但在文档中给出的示例中

我认为他们将.loc accessoriedf.loc[s, 'B']作为第二种形式

因为df.loc[s, 'B']在文档中作为示例给出,并且还提到:-

df.iloc[s,1]给出一个无效的输出,即它引发错误,因为 s 返回一个series布尔值,我们不能在iloc访问器中使用字符串索引。


推荐阅读