Python学习笔记:pd.drop删除行或列
一、介绍
通过指定标签名称和相应的轴,或直接指定索引或列名称,删除行或列。
使用多索引时,可以通过指定级别来删除不同级别上的标签。
使用语法:
pandas.DataFrame.drop(labels=None,
axis=0,
index=None,
columns=None,
level=None,
inplace=False,
errors='raise')
参数解释:
-- labels 单个标签或者标签列表
-- axis=0 默认 删除index
-- axis=1 指定删除列
-- inplace=True 修改原数据
-- level 针对多重索引 指定级别
-- index 指定索引
-- columns 指定列名
二、实操
- 删除简单索引
import pandas as pd
import numpy as np
# 构建测试集
df = pd.DataFrame(np.arange(12).reshape(3,4), columns=['a','b','c','d'])
'''
a b c d
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
'''
# 删除行
df.drop(2)
df.drop([0,1])
# 删除列
df.drop('a', axis=1)
df.drop(['b','c'], axis=1)
df.drop(columns=['b','c']) # 同上
- 多重索引删除数据
# 构建复合索引测试表
midx = pd.MultiIndex(levels=[['lama', 'cow', 'falcon'],
['speed', 'weight', 'length']],
codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],
[0, 1, 2, 0, 1, 2, 0, 1, 2]])
df = pd.DataFrame(index=midx, columns=['big', 'small'],
data=[[45, 30], [200, 100], [1.5, 1], [30, 20],
[250, 150], [1.5, 0.8], [320, 250],
[1, 0.8], [0.3, 0.2]])
df
'''
big small
lama speed 45.0 30.0
weight 200.0 100.0
length 1.5 1.0
cow speed 30.0 20.0
weight 250.0 150.0
length 1.5 0.8
falcon speed 320.0 250.0
weight 1.0 0.8
length 0.3 0.2
'''
# 删除行
df.drop(index='length', level=1)
'''
big small
lama speed 45.0 30.0
weight 200.0 100.0
cow speed 30.0 20.0
weight 250.0 150.0
falcon speed 320.0 250.0
weight 1.0 0.8
'''
# 删除列
df.drop(index='cow', columns='big')
'''
small
lama speed 30.0
weight 100.0
length 1.0
falcon speed 250.0
weight 0.8
length 0.2
'''
参考链接:Python中pandas dataframe删除一行或一列:drop函数详解
参考链接:df.drop()函数删除多行或者多列
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)