You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不使用Pandas的情况下从Sklearn Wine数据集中删除target=0的行

解决方案:不使用Pandas过滤Wine数据集

直接用NumPy的布尔索引就能完成需求,不用依赖Pandas。步骤如下:

  1. 生成过滤掩码:创建一个布尔数组,标记出y中值不为0的样本位置
  2. 用掩码过滤特征集X和标签集y,保留目标样本

完整代码如下:

from sklearn.datasets import load_wine
import numpy as np

# 加载数据集,取第11、12列特征和标签
wine = load_wine()
X, y = wine.data[:, 11:13], wine.target

# 生成掩码:筛选出标签不为0的样本
mask = y != 0
# 应用掩码过滤数据
X_filtered = X[mask]
y_filtered = y[mask]

# 验证结果:查看过滤后的标签类别(应该只有1和2)
print(np.unique(y_filtered))

代码说明

  • mask = y != 0:生成一个和y长度相同的布尔数组,对应位置为True表示该样本标签不是0
  • X[mask]/y[mask]:利用NumPy的布尔索引功能,只保留掩码为True的行,直接剔除标签为0的样本
  • 过滤后y_filtered只会包含1和2两类标签,实现三类转两类的需求

内容的提问来源于stack exchange,提问作者Mary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 02:57:02