使用 pd.DataFrame()后new_data的列与标号不对应

问题遇到的现象和发生背景

new_data: 0 1 2
0 3.542485 1.977398 -1.0
1 3.018896 2.556416 -1.0
2 7.551510 -1.580030 1.0
3 2.114999 -0.004466 -1.0
4 8.127113 1.274372 1.0

列与标号不对应

问题相关代码,请勿粘贴截图

import matplotlib.pyplot as plt
import numpy as np
from sklearn import svm,datasets
import pandas as pd
import openpyxl
import numpy as np
import matplotlib.pyplot as plt
import os
from numpy import *
from time import sleep
from os import listdir
import math
import matplotlib.pyplot as plt
import time
from sklearn.datasets import load_iris #导入数据集iris
iris = load_iris() #载入数据集
#print (iris.data)

import matplotlib.pyplot as plt
import numpy as np
from sklearn import svm,datasets
import pandas as pd

def loadDataSet(filename):
dataMat=[]
labelMat=[]
fr=open(filename)
for line in fr.readlines():
lineArr=line.strip().split('\t')
dataMat.append([float(lineArr[0]),float(lineArr[1])])
labelMat.append(float(lineArr[2]))
return dataMat,labelMat
trainDataSet,trainLabel=loadDataSet("testSet.txt")#导入数据
tem_X =mat( np.array(trainDataSet))[:, :2] #取前两列
#print('tem_X:',tem_X)
tem_Y = trainLabel
#print('tem_Y:',tem_Y)
data = np.column_stack([tem_X,tem_Y])
print('data:',data)
new_data = pd.DataFrame(np.column_stack([tem_X,tem_Y]))
#过滤掉其中一种类型的花
#new_data = new_data[new_data[2] != 1.0]
print('new_data:',new_data)
#生成X和Y
X = new_data[[0,1]].values
Y = new_data[[2]].values
Y=Y.ravel()
clf = svm.SVC(kernel='linear')
clf.fit(X, Y)

运行结果及报错内容

KeyError: "None of [Index([(0, 1)], dtype='object')] are in the [columns]"

我的解答思路和尝试过的方法
我想要达到的结果

tem_X = iris.data[:, :2] #取前两列
print('tem_X:',tem_X)
tem_Y = iris.target
print('tem_Y:',tem_Y)
new_data = pd.DataFrame(np.column_stack([tem_X,tem_Y]))

取得的数据有重合,删掉即可