如何从DataFrame删除指定列?代码原理及axis参数作用解析
Pandas中
df.drop()删列的原理和axis参数的作用 这段删列代码的工作原理
咱们拆解一下df = df.drop(df.columns[[0, 1, 3]], axis=1):
df.columns:先拿到DataFrame所有列的列名,它是个能按索引取元素的集合,和列表用法类似。df.columns[[0,1,3]]:因为Pandas的索引是从0开始计数的,所以这里的0对应第一列,1对应第二列,3对应第四列,这部分就是把要删除的列名筛选出来。df.drop(...):drop方法的核心作用就是移除DataFrame里的指定行或列,传入要删的列名后,它会返回一个已经删掉这些列的新DataFrame。- 最后把新的DataFrame重新赋值给
df,这样原变量就更新成删完列后的结果了(要是不想重新赋值,也可以加inplace=True参数直接修改原数据)。
axis参数的作用
axis就是用来明确告诉drop方法,你要操作的是行还是列:
axis=0(默认值,可不写):表示对行进行操作,删除指定的行。axis=1:表示对列进行操作,删除指定的列。
你找到的代码里写axis=1,就是明确指定“我要删列,不是删行”。
顺带提一句:要是你只想删除第一列,直接写df = df.drop(df.columns[0], axis=1)就行,不用套列表(当然传单元素列表[0]也能正常运行)。
内容的提问来源于stack exchange,提问作者Yue
相关产品推荐
相关产品推荐

