python - 拆分数据时出现问题:KeyError: "None of [Int64Index([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], dtype='int64')] 在[列]"
问题描述
我正在尝试对某些数据 wine.data 执行训练测试拆分,但是在初始化 x 和 y 时:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.neural_network import MLPClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import cross_val_score
wine = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data")
print(wine.shape)
wine.head()
X = wine[np.arange(1,14)]
y = wine[0]
当我收到错误消息时,此段下方的其余代码将不会运行:
KeyError: "None of [Int64Index([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], dtype='int64')] are in the [columns]"
我试图通过更改 X 值的范围或更改 np.arange 函数来解决此问题,但均无济于事。
任何帮助或建议将不胜感激,谢谢!
解决方案
您忘记添加header=None
到数据框构造函数。您正在下载的 csv 没有标题行。因此,如果您不指定header=None
,则第一行数据将用作表头。
尝试
wine = pd.read_csv(
"https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data",
header=None
)
推荐阅读
- javascript - 滚动条从一个网站到另一个网站保持在同一位置
- hdf5 - 如何更改 automake 安装 libtool 库的位置?
- ionic-framework - 使用把手改变字体大小
- python - 如何在 Python 中从 Informix 和 Oracle 数据库中检索图像?
- arrays - 使用 SwiftyJSON 反序列化时如何添加对象数组
- c# - 基类中的 Polly 使用参数执行抽象方法
- ssl - 在建立与网站的连接时,如何确保域级 SSL 证书存在于信任库中?
- css - 渲染一个组件时,隐藏路由器中兄弟 div 的 HTML 中的空格/HTML 溢出?
- bash - 带有 for 循环的单行 bash 函数
- react-native - 每次击键后TextInput失去焦点