Python 连接后弹出
我有一些导入的大型csv文件。我提取了一些特定的列,以便仅使用这些列创建新的矩阵。我使用concatenate将列彼此相邻放置。现在我想通过从中提取一些行,将这个矩阵分成两个较小的矩阵。我不知道为什么在对连接的数据使用pop函数时会不断出现错误Python 连接后弹出,python,arrays,copy,concatenation,Python,Arrays,Copy,Concatenation,我有一些导入的大型csv文件。我提取了一些特定的列,以便仅使用这些列创建新的矩阵。我使用concatenate将列彼此相邻放置。现在我想通过从中提取一些行,将这个矩阵分成两个较小的矩阵。我不知道为什么在对连接的数据使用pop函数时会不断出现错误 data_set=[annual_inc, delinq_2yrs, dti, emp_length, loan_amnt, installment, int_rate, open_acc, total_acc, pub_rec, acc_now_del
data_set=[annual_inc, delinq_2yrs, dti, emp_length, loan_amnt, installment, int_rate, open_acc, total_acc, pub_rec, acc_now_delinq, loan_stat]
result=pd.concat(data_set,axis=1)
def splitDataSet(x, splitRatio):
trainSize = int(len(x)*splitRatio)
trainSet=[]
copy=x
while len(trainSet)<trainSize:
index=random.randrange(len(copy))
trainSet.append(copy.pop(index))
return[trainSet, copy]
splitRatio=0.67
train, test=splitDataSet(result, splitRatio)
print(train)
我得到了错误'KeyError:0'
我只想从数组结果中删除行“0”
PS:我从一开始就省略了一些行,比如导入和一些变量预处理。如果有人需要它,我可以粘贴它
copy=x
并不真的复制列表(x
是一个列表,对吗?),而是让copy
指向与x
相同的列表。当然,copy.pop()
要复制列表,请执行以下操作:确定。我想我明白了。首先,我必须将数组“结果”转换为列表。为此,我使用了:
a=result.values.tolist()
那么从这一点来看,a.pop()可以正常工作 请编辑、添加您获得的输出和所需的输出
a=result.values.tolist()