显示一些数据后出现NameError

时间:2018-04-19 06:04:21

标签: python pandas nameerror

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(最近一次调用最后一次)  in()       6       范围(d)中的i为7: ----> 8打印(x2 [i])       9

getitem 中的

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

get_value中的

〜\ Anaconda3 \ lib \ site-packages \ pandas \ core \ _dex \ base.py(self,series,key)    2475尝试:    2476返回self._engine.get_value(s,k, - > 2477 tz = getattr(series.dtype,'tz',None))    2478除了KeyError为e1:    2479如果len(自我)> 0和['integer'中的self.inferred_type,'boolean']:

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 \ index.pyx

pandas._libs.hashtable.Int64HashTable.get_item()

中的pandas_libs \ hashtable_class_helper.pxi

pandas._libs.hashtable.Int64HashTable.get_item()

中的pandas_libs \ hashtable_class_helper.pxi

KeyError:504

2 个答案:

答案 0 :(得分:0)

使用

print(x2[i:i+1])

这将打印第i行

答案 1 :(得分:0)

问题在于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])