我们先来看看DataFrame.drop的帮助文档:

Help on function drop in module pandas.core.frame:

drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

Drop specified labels from rows or columns. Remove rows or columns by specifying label names and corresponding axis, or by specifying directly index or column names. When using a multi-index, labels on different levels can be removed by specifying the level.

Parameters ----------

labels : single label or list-like Index or column labels to drop. axis : {0 or 'index', 1 or 'columns'}, default 0 Whether to drop labels from the index (0 or 'index') or columns (1 or 'columns').

index, columns : single label or list-like Alternative to specifying axis (``labels, axis=1`` is equivalent to ``columns=labels``).

..versionadded::0.21.0

level : int or level name, optional For MultiIndex, level from which the labels will be removed.

inplace : bool, default False If True, do operation inplace and return None.

errors : {'ignore', 'raise'}, default 'raise' If 'ignore', suppress error and only existing labels are dropped.

Returns ------- dropped : pandas.DataFrame

先创建一个DataFrame对象,为方便演示,我创建了一个索引既有时间,也有其他类型的索引。

In[1]: import pandas as pd

In[2]: df = pd.DataFrame([11, 12, 13, 14, 15, 16, 17], index = [0, 1, 2, '2018-01-01', '2018-01-02', 'a', 'b'], columns = ['V'])

In[3]: print(df)

Out[3]:

V

0 11

1 12

2 13

2018-01-01 14

2018-01-02 15

a 16

b 17

通过帮助文档我们简单了解到一个重要参数inplace=False,这个参数控制着DataFrame.drop的操作是在原DataFrame删除还是不在原DataFrame上删除,默认不在原DataFrame上操作。

labels参数

DataFrame.drop()中的参数labels是要删除的行或者列的名字,删除行还是列由参数axis控制,axis默认为0即按行删除,要想删除列只需令axis=1。

In[4]: df.drop([2,'2018-01-01','a'])

Out[4]:

V

0 11

1 12

2018-01-02 15

b 17

如果要删除列‘V’,只需如下操作:

In[5]: df.drop(['V'],axis=1)

Out[5]:

0

1

2

2018-01-01

2018-01-02

a

b

index参数

对于参数index,这个参数只能传入行的名字即它是专为按行删除设置的,axis的值不影响index,axis的值只在给labels传入参数时起作用。

In[6]: df.drop(index = 'a',axis = 1)

Out[6]:

V

0 11

1 12

2 13

2018-01-01 14

2018-01-02 15

b 17

columns参数的用法与index的用法是类似的。

level参数目前我还没用过,用到了再说了。

errors参数控制着当labels接收到没有的行名或者列名时,程序应该执行的操作。

errors='raise'会让程序在labels接收到没有的行名或者列名时抛出错误导致程序停止运行,errors='ignore'会忽略没有的行名或者列名,只对存在的行名或者列名进行操作。

想要了解更加详细信息,自己在python中用help(pd.DataFrame.drop)或者参阅:DataFrame.drop

dataframe去掉索引 python_DataFrame按索引删除行、列相关推荐

  1. pandas使用iloc函数基于dataframe数据列的索引抽取单列或者多列数据、其中多列索引需要嵌入在列表方括号[]中、或使用:符号形成起始和终止范围索引

    pandas使用iloc函数基于dataframe数据列的索引抽取单列或者多列数据.其中多列索引需要嵌入在列表方括号[]中.或使用:符号形成起始和终止范围索引 目录

  2. pandas重置dataframe的索引(reset_index)、如果索引不匹配dataframe操作时候的问题、重置索引(不设置drop=true)远索引生成新的数据列

    pandas重置dataframe的索引(reset_index).如果索引不匹配dataframe操作时候的问题.重置索引(不设置drop=true)远索引生成新的数据列 目录

  3. Pandas把dataframe的索引、复合索引变换为数据列:包含单索引到单列(重命名)、复合索引到多数据列、复合索引的其中一个水平变换为数据列、

    Pandas把dataframe的索引.复合索引变换为数据列:包含单索引到单列(重命名).复合索引到多数据列.复合索引的其中一个水平变换为数据列 目录

  4. python dataframe去掉索引_关于python:删除具有重复索引的行(Pandas DataFrame和TimeSeries)...

    我正在从网上阅读一些自动天气数据. 观察每5分钟发生一次,并编译成每个气象站的月度文件. 一旦我完成了解析文件,DataFrame看起来像这样: Sta  Precip1hr  Precip5min ...

  5. R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象、使用[]操作符和列索引数值访问dataframe指定数据列的数据(column index)

    R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象.使用[]操作符和列索引数值访问dataframe指定数据列的数据(column index) 目录 R语言使用多个数据类型不同的 ...

  6. dataframe两个表合并_Part25:Pandas基础(Series,DataFrame类的创建、索引、切片、算术方法)...

    一.为什么学习pandas numpy已经可以帮助我们进行数据的处理了,那么学习pandas的目的是什么呢? numpy能够帮助我们处理的是数值型的数据,当然在数据分析中除了数值型的数据还有好多其他类 ...

  7. mysql百万数据根据索引查询_mysql创建多列索引查询百万表数据的性能优化经验分享...

    最近发现最代码网站中的收到的评论,提到我的,心情被赞的查询异常缓慢,通过nginx日志发现响应时间快的在5s,慢的有13s,终于忍无可忍花时间来解决了. 执行explain之后的截图如下: 可以看到p ...

  8. dataframe 如何增加新的索引_带你领略pandas中多表之间如何处理

    但我们在处理Pandas多表数据时,我们需要将多个表之间进行表格的连接与合并,当连接完多表之后我们可能还需要对数据进行多重的索引,方便我们更快的找到数据,以及对数据进行做透视表,更加直观的去观察我们的 ...

  9. Python pandas,index索引,修改索引,复合索引,将某列设为索引

    demo.py(index索引,修改索引,将DataFrame某列设为索引): # coding=utf-8 import numpy as np import pandas as pddf = pd ...

最新文章

  1. 关于R语言plyr包的安装问题
  2. 《Linux总线、设备与驱动》USB设备发现机制
  3. Oracle RAC 客户端连接负载均衡(Load Balance)
  4. 每扇区2048字节的U盘乱码的数据恢复
  5. python 怎么查看变量的数据类型
  6. 数据库系统实训——实验六——游标
  7. MySQL索引(1)
  8. android权限列表
  9. ubuntu wps安装
  10. matlab数据块的dct编码,[转载]基于DCT图像压缩编码算法的MATLAB实现
  11. 计算机视觉论文-2021-06-10
  12. 温莎计算机应用硕士是针对国际学生的吗,专业推荐 | 加拿大留学,温莎大学英语计算机专业了解一下...
  13. can和could的用法_can和could情态动词的用法
  14. hexo博客yilia主题添加复制代码块功能
  15. 不动产纠纷包括房屋买卖合同吗
  16. UCI on PUSCH 协议角度解析
  17. 车辆动力学模型推导注意细节(eg:科氏力的判断)
  18. 微型计算机可以用于,微型计算机控制技术选择题..docx
  19. TRIZ创新方法——特性传递
  20. 曾经的废品回收老板,却开起了滴滴,背后的真相竟然是……

热门文章

  1. 项目中Java的多线程一般用在哪些场景?
  2. diy写字机器人_Mini Telegraph开源电报机创客DIY机械臂写字机器人小贱钟表白
  3. java-php-python-ssm“花花世界”网站计算机毕业设计
  4. 四大微信小程序测评结果出炉
  5. python转义字符/a---响铃
  6. 匈牙利命名法的衰落和建议
  7. axios拦截器、ElementUI组件的使用
  8. 2021最新大厂Java面试真题解析
  9. 机器码农:深度学习自动编程
  10. Vue表格实现隔行变色