显示一些数据后出现 NameError

NameError after show some data

X_train, X_test, y_train, y_test = train_test_split(x1, x2, test_size=0.2)
d=len(X_train)


for i in range(d):
    print(x2[i])

我正在使用一个包含 2500 个数据的数据集,当我 运行 这段代码发生这个错误时,我的代码有什么问题你能帮我解决这个问题吗?这显示了一些数据而不是错误

7.9 7.82 7.67 7.7 8.65 9.49 9.4 9.23 8.87 9.7 9.87 9.2 8.85 8.9 8.9 8.95 8.93 8.89 9.15 9.44 9.65 11.0 11月12日 11.3 11.29 11月19日 11.1 11月15日 11.6 1160.0 11.77 12.05 12.04

13.25

KeyError Traceback(最后一次调用) 在 () 6个 7 我在范围内(d): ----> 8 打印(x2[i]) 9

~\Anaconda3\lib\site-packages\pandas\core\series.py in getitem(self, key) 599 key = com._apply_if_callable(key, self) 600 次尝试: --> 601 结果 = self.index.get_value(self, key) 602 603 如果不是 is_scalar(结果):

~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_value(self, series, key) 2475 尝试: 第2476章【=62=】【=49=】 -> 2477 tz=getattr(series.dtype, 'tz', None)) 2478 除了作为 e1 的 KeyError: 2479 如果 len(self) > 0 并且 self.inferred_type 在 ['integer', 'boolean']:

pandas_libs\index.pyx 在 pandas._libs.index.IndexEngine.get_value()

pandas_libs\index.pyx 在 pandas._libs.index.IndexEngine.get_value()

pandas_libs\index.pyx 在 pandas._libs.index.IndexEngine.get_loc()

pandas_libs\hashtable_class_helper.pxi 在 pandas._libs.hashtable.Int64HashTable.get_item()

pandas_libs\hashtable_class_helper.pxi 在 pandas._libs.hashtable.Int64HashTable.get_item()

按键错误:504

使用

print(x2[i:i+1])

这将打印第 i 行

问题出在 d=len(X_train) 获取训练集的大小,然后使用训练集的大小打印测试集中的元素,这使得一些值超出范围,而不是正确的代码应该是:

X_train, X_test, y_train, y_test = train_test_split(x1, x2, test_size=0.2)
d=len(x2)


for i in range(d):
print(x2[i])