Python/如何在/train/test/split之后删除带有索引的测试数据中的特定行
Python / How to delete specific rows in testing data with indices after / train / test / split
我想删除 X_test 和 y_test 中 MFD 较大的每一行。问题是,我总是从 Train / Test / Split 中获取随机混合索引。如果我尝试删除它,我会收到以下错误消息:
IndexError:索引 3779 超出尺寸为 3488 的轴 1 的范围
我不能用旧的索引来删除它,但是我怎样才能得到 MFD > 1 的新索引
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size=test_size,
random_state=random_state,
stratify=y)
mfd_drop_rows = []
i_nr = 0
for i in X_test.MFD:
if (i > 1):
mfd_drop_rows.append(X_test.index[i_nr])
i_nr += 1
X_test_new = X_test.drop(X_test.index[mfd_drop_rows])
y_test_new = Y_test.drop(Y_test.index[mfd_drop_rows])
感谢您的帮助(=
抱歉,我已经解决了,我只是使用 i_nr 迭代并获得了新索引。
感谢所有阅读的人
mfd_drop_rows = []
i_nr = 0
for i in X_test.MFD:
if (i > 1):
mfd_drop_rows.append(i_nr)
i_nr += 1
X_test_new = X_test.drop(X_test.index[mfd_drop_rows])
y_test_new = Y_test.drop(Y_test.index[mfd_drop_rows])
不确定 MFD 是什么,但假设 X_test.MFD
给你一个数字数组,你可以使用掩码来删除行。可以在这里看到如何使用掩码的简单示例:
x = [[1,2,3,4,5],[6,7,8,9,10]]
mfd = [0.6, 1.3]
mask = x > 1
x_new = x[mask,:]
这将得到:
x = [1,2,3,4,5
6,7,8,9,10]
mask = [False, True]
x_new = [6,7,8,9,10]
我想删除 X_test 和 y_test 中 MFD 较大的每一行。问题是,我总是从 Train / Test / Split 中获取随机混合索引。如果我尝试删除它,我会收到以下错误消息:
IndexError:索引 3779 超出尺寸为 3488 的轴 1 的范围
我不能用旧的索引来删除它,但是我怎样才能得到 MFD > 1 的新索引
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size=test_size,
random_state=random_state,
stratify=y)
mfd_drop_rows = []
i_nr = 0
for i in X_test.MFD:
if (i > 1):
mfd_drop_rows.append(X_test.index[i_nr])
i_nr += 1
X_test_new = X_test.drop(X_test.index[mfd_drop_rows])
y_test_new = Y_test.drop(Y_test.index[mfd_drop_rows])
感谢您的帮助(=
抱歉,我已经解决了,我只是使用 i_nr 迭代并获得了新索引。
感谢所有阅读的人
mfd_drop_rows = []
i_nr = 0
for i in X_test.MFD:
if (i > 1):
mfd_drop_rows.append(i_nr)
i_nr += 1
X_test_new = X_test.drop(X_test.index[mfd_drop_rows])
y_test_new = Y_test.drop(Y_test.index[mfd_drop_rows])
不确定 MFD 是什么,但假设 X_test.MFD
给你一个数字数组,你可以使用掩码来删除行。可以在这里看到如何使用掩码的简单示例:
x = [[1,2,3,4,5],[6,7,8,9,10]]
mfd = [0.6, 1.3]
mask = x > 1
x_new = x[mask,:]
这将得到:
x = [1,2,3,4,5
6,7,8,9,10]
mask = [False, True]
x_new = [6,7,8,9,10]