IndexError: .iloc requires numeric indexers, got [[datetime.datetime(2022, 12, 31, 0, 0) 'A01000024' '7028' ... 10.2 'CNY' 1] [datetime.datetime(2022, 12, 31, 0, 0) 'A04000007' '2006' ... 2411.64 'CNY' 1] [datetime.datetime(2022, 12, 31, 0, 0) 'A05040136' '2008' ... 6156.63 'CNY' 1] ... [datetime.datetime(2022, 12, 31, 0, 0) 'P10010021' '1301' ... 0 'USD' 6.9646] [datetime.datetime(2022, 12, 31, 0, 0) 'T02000121' '7001' ... 0 'USD' 6.9646] [datetime.datetime(2022, 12, 31, 0, 0) 'T05000166' '7001' ... 0 'USD' 6.9646]]
时间: 2023-12-26 11:04:08 浏览: 132
这个错误通常是因为使用了列表或其他非数值类型的对象来选择 Pandas DataFrame 的行或列。在这种情况下,可以使用 `iloc` 方法来使用数值索引器来选择行或列。
例如,如果你想选择第一行数据,可以使用以下代码:
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame([[1, 2], [3, 4]], columns=[0, 1])
# 使用 iloc 方法选择第一行数据
row = df.iloc[0]
# 打印选择结果
print(row)
```
输出:
```
0 1
1 2
Name: 0, dtype: int64
```
如果你想选择前两行数据,可以使用以下代码:
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame([[1, 2], [3, 4], [5, 6]], columns=[0, 1])
# 使用 iloc 方法选择前两行数据
rows = df.iloc[:2]
# 打印选择结果
print(rows)
```
输出:
```
0 1
0 1 2
1 3 4
```
请注意,在使用 `iloc` 方法时,使用方括号 `[]` 而不是圆括号 `()`,并且使用逗号 `,` 来分隔行和列的选择器。例如,要选择第一行第二列的数据,可以使用以下代码:
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame([[1, 2], [3, 4], [5, 6]], columns=[0, 1])
# 使用 iloc 方法选择第一行第二列的数据
value = df.iloc[0, 1]
# 打印选择结果
print(value)
```
输出:
```
2
```
阅读全文