python报错 Length mismatch: Expected axis has 30 elements, new values have 25 elements,如何解决?

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

做一个影像组学的习题,原文件中有30个筛选处理的影响特征。通过T检验筛选出来了25个,后面对筛选处理的数据想做进一步的数据整理,为做图和模型建立做准备,然后出现了报错的问了。

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

data_train,data_test=train_test_split(data,test_size=0.3,random_state=15)
data_train_a=data_train[:][data_train['label']==0]
data_train_b=data_train[:][data_train['label']==1]
data_test_a=data_test[:][data_test['label']==0]
data_test_b=data_test[:][data_test['label']==1]
print(data_train_a.shape)
print(data_train_b.shape)
print(data_test_a.shape)
print(data_test_b.shape)
这步骤运行的结果是
(150, 31)
(248, 31)
(62, 31)
(109, 31)
应该确定特征是30个后面做了T检验
index=[]
for colName in data.columns[:]:
if levene(data_train_a[colName],data_train_b[colName])[1]>0.05:
if ttest_ind(data_train_a[colName],data_train_b[colName])[1]<0.05:
index.append(colName)
else:
if ttest_ind(data_train_a[colName],data_train_b[colName],equal_var=False)[1]<0.05:
index.append(colName)
print(len(index))
print(index)
这一步显示的index就变成了26了
26
['label', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'M', 'N', 'P', 'Q', 'R', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD']
接下来想进一步整理数据
data_train_a = data_train_a[index]
data_trian_b = data_train_b[index]
data_train = pd.concat([data_train_a,data_train_b])
data_train=shuffle(data_train)#重新打乱
data_train.index=range(len(data_train))#重新编码
x_train=data_train[data_train.columns[1:]]
#注意下面两行训练集和测试集上的区别
scaler=StandardScaler()#scaler标准化
scaler.fit(x_train)
x_train=scaler.transform(x_train)
x_train=pd.DataFrame(x_train)
x_train.columns = index[1:]
y_train=data_train['label']

运行结果及报错内容

出现了运行报错:
ValueError Traceback (most recent call last)
Length mismatch: Expected axis has 30 elements, new values have 25 elements

我的解答思路和尝试过的方法

我的疑惑在于data_train_a及data_train_b做了新的赋值,不应该变成25个原素了吗,我试着print了data_train.shape发现确实还是31列,应该这里变成26就对了,可是应该怎么做不知道,求指导。

我想要达到的结果