Python机器学习:drop()删除行列
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
在进行特征工程、划分数据集的工作中drop()函数都能派上用场。它可以轻松剔除数据、操作列和操作行等。
drop()详细的语法如下
删除行是index删除列是columns
DataFrame.drop(labels=None, axis=0, index=None, columns=None, inplace=False)
参数
labels要删除的行或列的标签可以是单个标签也可以是标签列表。
axis要删除的行或列的轴0表示行1表示列。
index要删除的行的索引可以是单个索引也可以是索引列表。
columns要删除的列的列名可以是单个列名也可以是列名列表。
inplace是否在原DataFrame上进行操作默认为False即不在原DataFrame上进行操作。
删除列
使用场景1删除不需要的特征。
例如有些特征对结果的影响不大就可以把与因变量不相关的自变量删掉为了避免多重共线性要把有强相关关系的自变量删掉。
df = data.drop(data[['RowNumber','CustomerId','Surname']],axis=1)
df
代码讲解
data是数据集两个中括号代表DataFrame格式里面筛选了3个要删除的字段
axis=1代表操作列
运行结果
使用场景2把因变量删掉
# 自变量、因变量
x_data = df.drop(['Exited'],axis=1)
y_data = df['Exited']
x_data
代码讲解
drop()函数里面填写要删除的字段表示从df中删除名为“Exited”的列
['Exited']这一个字段是我们要剔除的因变量单个字段可以这样表示
运行结果
删除行
使用场景3在划分数据集的时候生成了训练集把被分到训练集的样本剔除掉剩下的就是测试集了。
#划分训练集
train_data = data.sample(frac = 0.8, random_state = 0)
#测试集
test_data = data.drop(train_data.index)
代码讲解
drop()函数里面填行索引可以删除掉行
train_data是我们划分好的训练集train_data.index表示行索引
axis=0表示的是删除行也可以不写是默认值