.iloc requires numeric indexers, got [[1.0 80.0 0 ... 140 0 'overweight']什么意思
时间: 2024-03-03 15:52:04 浏览: 211
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
这个错误通常表示在使用 Pandas 的 iloc 属性时,传递了非整数类型的索引器,例如传递了一个包含浮点数、字符串等类型的索引器。iloc 属性只能接受整数类型的索引器,用于定位 DataFrame 或 Series 中的行或列。
例如,当你使用类似如下的代码时,就会出现该错误:
```python
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]})
# 使用 iloc 提取 DataFrame 的一行
row = df.iloc[[1.0, 2.0], :]
```
在上面的代码中,`iloc[[1.0, 2.0], :]` 尝试使用包含浮点数的列表作为索引器,这会导致错误。要解决这个问题,只需要使用整数类型的索引器即可,例如 `[1, 2]`。
如果你需要使用非整数类型的索引器,可以考虑使用 loc 属性或者索引器方法,例如 `.loc[[1.0, 2.0], :]` 或者 `.iloc[[True, False, True], :]`。这些方法都可以接受非整数类型的索引器。
阅读全文