pandas.DataFrame.drop()函数介绍

官方文档:pandas.DataFrame.drop

DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=‘raise’)

  • labels: 要删除的行标签/列标签
  • axis:默认取0删除行,取1删除列
  • index:删除行(labels, axis=0 is equivalent to index=labels)
  • columns:删除列(labels, axis=1 is equivalent to columns=labels)
  • level:针对有多级行标或列标的集合,level=x 即按照 x 级行/列标删除整行
  • inplace:默认inplace=False, 仅返回copy;inplace=True为在原dataframe上修改
  • errors: {‘ignore’, ‘raise’}, default ‘raise’

Examples:

df = pd.DataFrame(np.arange(12).reshape(3, 4),columns=['A', 'B', 'C', 'D'])
# Output
dfA  B   C   D
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11

1. 列删除

# .drop()方法
df.drop(columns=['列名1', '列名2'])
# OR
df.drop(['列名1', '列名2'], axis=1)
# del方法(一次只能删除一列)
del df['列名']
# .pop()方法(一次只能删除一列)
df.pop('列名')

Example:删除 ‘B’ 和 ‘C’ 列

df.drop(['B', 'C'], axis=1)
# OR
df.drop(columns=['B', 'C'])
# OutputA   D
0  0   3
1  4   7
2  8  11

2. 行删除

2.1 根据索引删除行

df.drop(['行名1', '行名2'])

Example:删除第0和1行

df.drop([0, 1])
# OutputA  B   C   D
2  8  9  10  11

2.2 根据条件删除行

df.drop(df[条件].index)

Example:删除A列大于4的所有行

df.drop(df[df.A >= 4].index)
# OutputA  B   C   D
0  0  1   2   3

3. 删除多级行标/列表的DataFrame

Example

midx = pd.MultiIndex(levels=[['speed', '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]])
# Outputbig     small
lama    speed   45.0    30.0weight  200.0   100.0length  1.5     1.0
cow     speed   30.0    20.0weight  250.0   150.0length  1.5     0.8
falcon  speed   320.0   250.0weight  1.0     0.8length  0.3     0.2

3.1 删除特定的索引组合

df.drop(index=('索引1', '索引2'))
df.drop(index='行名', columns='列名')

Example 1: 删除 ‘falcon’ 的 ‘weight’ 行

df.drop(index=('falcon', 'weight'))
# Outputbig     small
lama    speed   45.0    30.0weight  200.0   100.0length  1.5     1.0
cow     speed   30.0    20.0weight  250.0   150.0length  1.5     0.8
falcon  speed   320.0   250.0length  0.3     0.2

Example 2: 删除 ‘cow’ 行和 ‘small’ 列

df.drop(index='cow', columns='small')
# Outputbig
lama    speed   45.0weight  200.0length  1.5
falcon  speed   320.0weight  1.0length  0.3

3.2 按照行/列标删除

# 删除第 x+1 级行标, 默认为0
df.drop(index='行名', level=x)
# 删除第 y+1 级列标,默认为0
df.drop(columns='列名', level=y)

Example 1:删除第二级行标的 ‘length’ 行

df.drop(index='length', level=1)
# Outputbig     small
lama    speed   45.0    30.0weight  200.0   100.0
cow     speed   30.0    20.0weight  250.0   150.0
falcon  speed   320.0   250.0weight  1.0     0.8

Example 2:删除第1级行标的 ‘lama’ 行

df.drop(index='lama') # 默认 level=0
# Output:big     small
cow     speed   30.0    20.0weight  250.0   150.0length  1.5     0.8
falcon  speed   320.0   250.0weight  1.0     0.8length  0.3     0.2

pandas行/列删除相关推荐

  1. python删除空值的行_python删除列为空的行的实现方法

    python删除列为空的行的实现方法 发布时间:2020-07-17 17:26:54 来源:亿速云 阅读:112 作者:小猪 这篇文章主要讲解了python删除列为空的行的实现方法,内容清晰明了,对 ...

  2. pandas删除数据行中的重复数据行、基于dataframe所有列删除重复行、基于特定数据列或者列的作何删除重复行、删除重复行并保留重复行中的最后一行、pandas删除所有重复行(不进行数据保留)

    pandas删除数据行中的重复数据行.基于dataframe所有列删除重复行.基于特定数据列或者列的作何删除重复行.删除重复行并保留重复行中的最后一行.pandas删除所有重复行(不进行数据保留) 目 ...

  3. pandas获得指定行_pandas取dataframe特定行/列

    转自他人博客:https://blog.csdn.net/weixin_39586825/article/details/111758506 1.按列取.按索引/行取.按特定行列取 import nu ...

  4. pandas处理数据代码:分组聚合、保留重复行、删除重复行

    txt转csv import numpy as np import pandas as pdtxt=np.loadtxt('1216.txt')txtDF=pDataFrame(txt) txtDF. ...

  5. R语言dplyr包移除dataframe数据行实战(Remove Rows):按照条件移除数据行、按照索引移除数据行、删除包含NA值的所有数据行、删除具体列包含NA值的数据行

    R语言dplyr包移除dataframe数据行实战(Remove Rows):按照条件移除数据行.按照索引移除数据行.删除包含NA值的所有数据行.删除具体列包含NA值的数据行 目录

  6. python对csv数据提取某列的某些行_python pandas获取csv指定行 列的操作方法

    pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: house_info.loc[3:6]类似于python的切片 ...

  7. python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法

    python pandas获取csv指定行 列的操作方法 pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: ho ...

  8. VBA-常用函数集锦-13-Excel多行或多列删除

    系统:Windows 7 软件:Excel 2010 这个系列集锦了一些常用功能 今天说说对多行多列的删除操作 重点强调如何表示多行或者多列 数据源形式 Part 1:多行删除 通过Rows和Rang ...

  9. Python Pandas 行数据筛选方法汇总

    Pandas 行数据筛选 一.准备数据 二.通过逻辑规则筛选(大于/小于等) 三.删除重复元素 三.显示最前面 / 最后面的 n 行 3.1 显示前面 n 行 3.2 显示后面 n 行 四.随机抽取 ...

最新文章

  1. 分享EOS加拿大的文章《REX——从源代码做技术解析》
  2. 实验三 ShellShock 攻击实验
  3. python海贼王logo_Python实现的下载op海贼王网的图片
  4. 一段话系列-Java是否是解释执行语言?
  5. python调用perl_在Perl、Shell和Python中传参与输出帮助文档
  6. mybatis源码阅读(五) ---执行器Executor
  7. Java面试题!java面向对象程序设计答案
  8. 2021-2025年中国船用辅机行业市场供需与战略研究报告
  9. 【系统自启动】使用windows自带工具管理开机启动项
  10. 微信小程序制作-随笔4
  11. 利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
  12. 值类型和引用类型 是什么 区别
  13. C# xml压缩包不解压的情况下解析xml内容
  14. Burp Suite使用介绍说明
  15. 《CSS世界》学习感想(持续更新)
  16. 在旭日X3派开发板上使用USB Wifi来提高网络速度
  17. levene ttest
  18. 老毛桃u盘装系统linux,老毛桃U盘装系统综合教程
  19. 卡耐基沟通成功学—戴尔·卡耐基
  20. 拍照爱摆“剪刀手”?呵呵,1.5米内100%还原指纹

热门文章

  1. Cortex-M4操作模式
  2. 记应聘:华为 可信理论、技术与工程实验室 产品数据工程师
  3. 移动硬盘部分分区不能识别解决方法
  4. Ubuntu 20.04 grub更换windows10为默认启动项
  5. 如何从 GRUB rescue 恢复 Win7,win7 USB恢复盘制作
  6. 报错:version magic ‘3.10.0_hifone SMP mod_unload ARMv7 p2v8 ‘ should be ‘3.10.0_s40 SMP mod_unload ARM
  7. 理想低通滤波器(频率域滤波)
  8. 2018华为暑假实习面试
  9. 常用的hook js
  10. ParaView-1