Pandas删除数据的几种情况(小结)

 更新时间:2019年06月21日 10:54:34   作者:Cocowool  
这篇文章主要介绍了Pandas删除数据的几种情况(小结),详细的介绍了4种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

开始之前,pandas中DataFrame删除对象可能存在几种情况

1、删除具体列
2、删除具体行
3、删除包含某些数值的行或者列
4、删除包含某些字符、文字的行或者列

本文就针对这四种情况探讨一下如何操作。

数据准备

模拟了一份股票交割的记录。

In [1]: import pandas as pd

In [2]: data = {
  ...:   '证券名称' : ['格力电器','视觉中国','成都银行','中国联通','格力电器','视觉中国','成都银行','中国联通'],
  ...:   '摘要': ['证券买入','证券买入','证券买入','证券买入','证券卖出','证券卖出','证券卖出','证券卖出'],
  ...:   '成交数量' : [500,1000,1500,2000,500,500,1000,1500],
  ...:   '成交金额' : [-5000,-10000,-15000,-20000,5500,5500,11000,15000]
  ...: }
  ...: 

In [3]: df = pd.DataFrame(data, index = ['2018-2-1','2018-2-1','2018-2-1','2018-2-1','2018-2-2','2018-2-2','2018-2-2','2018-2-3'])

In [4]: df
Out[4]: 
     成交数量  成交金额  摘要 证券名称
2018-2-1  500 -5000 证券买入 格力电器
2018-2-1 1000 -10000 证券买入 视觉中国
2018-2-1 1500 -15000 证券买入 成都银行
2018-2-1 2000 -20000 证券买入 中国联通
2018-2-2  500  5500 证券卖出 格力电器
2018-2-2  500  5500 证券卖出 视觉中国
2018-2-2 1000 11000 证券卖出 成都银行
2018-2-3 1500 15000 证券卖出 中国联通

删除具体列

In [5]: df.drop('成交数量',axis=1)
Out[5]: 
      成交金额  摘要 证券名称
2018-2-1 -5000 证券买入 格力电器
2018-2-1 -10000 证券买入 视觉中国
2018-2-1 -15000 证券买入 成都银行
2018-2-1 -20000 证券买入 中国联通
2018-2-2  5500 证券卖出 格力电器
2018-2-2  5500 证券卖出 视觉中国
2018-2-2 11000 证券卖出 成都银行
2018-2-3 15000 证券卖出 中国联通

删除具体行

In [6]: df.drop('2018-2-3')
Out[6]: 
     成交数量  成交金额  摘要 证券名称
2018-2-1  500 -5000 证券买入 格力电器
2018-2-1 1000 -10000 证券买入 视觉中国
2018-2-1 1500 -15000 证券买入 成都银行
2018-2-1 2000 -20000 证券买入 中国联通
2018-2-2  500  5500 证券卖出 格力电器
2018-2-2  500  5500 证券卖出 视觉中国
2018-2-2 1000 11000 证券卖出 成都银行

也可以根据行号删除记录,比如删除第三行

In [22]: df.drop(df.index[7])
Out[22]: 
     成交数量  成交金额  摘要 证券名称
2018-2-1  500 -5000 证券买入 格力电器
2018-2-1 1000 -10000 证券买入 视觉中国
2018-2-1 1500 -15000 证券买入 成都银行
2018-2-1 2000 -20000 证券买入 中国联通
2018-2-2  500  5500 证券卖出 格力电器
2018-2-2  500  5500 证券卖出 视觉中国
2018-2-2 1000 11000 证券卖出 成都银行

注意,这个办法其实不是按照行号删除,而是按照索引删除。如果index为3,则会将前4条记录都删除。这个方法支持一个范围,以及用负数表示从末尾删除。

删除特定数值的行(删除成交金额小于10000)

In [7]: df[ df['成交金额'] > 10000]
Out[7]: 
     成交数量  成交金额  摘要 证券名称
2018-2-2 1000 11000 证券卖出 成都银行
2018-2-3 1500 15000 证券卖出 中国联通

本例其实是筛选,如果需要保留,可以将筛选后的对象赋值给自己即可。

删除某列包含特殊字符的行

In [11]: df[ ~ df['证券名称'].str.contains('联通') ]
Out[11]: 
     成交数量  成交金额  摘要 证券名称
2018-2-1  500 -5000 证券买入 格力电器
2018-2-1 1000 -10000 证券买入 视觉中国
2018-2-1 1500 -15000 证券买入 成都银行
2018-2-2  500  5500 证券卖出 格力电器
2018-2-2  500  5500 证券卖出 视觉中国
2018-2-2 1000 11000 证券卖出 成都银行

如果想取包含某些字符的记录,可以去掉~

In [12]: df[ df['证券名称'].str.contains('联通') ]
Out[12]: 
     成交数量  成交金额  摘要 证券名称
2018-2-1 2000 -20000 证券买入 中国联通
2018-2-3 1500 15000 证券卖出 中国联通

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python统计字符串中指定字符出现次数的方法

    python统计字符串中指定字符出现次数的方法

    这篇文章主要介绍了python统计字符串中指定字符出现次数的方法,涉及Python中count函数的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Python中时间元组与时间日期的使用及说明

    Python中时间元组与时间日期的使用及说明

    这篇文章主要介绍了Python中时间元组与时间日期使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Python decorator拦截器代码实例解析

    Python decorator拦截器代码实例解析

    这篇文章主要介绍了Python decorator拦截器代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Pytorch计算网络参数的两种方法

    Pytorch计算网络参数的两种方法

    PyTorch是一个流行的深度学习框架,它允许研究人员和开发者快速构建和训练神经网络,计算一个PyTorch网络的参数量通常涉及两个步骤,本文给大家介绍了在PyTorch中计算网络参数量的一般方法,需要的朋友可以参考下
    2024-05-05
  • Python如何获取文件路径/目录

    Python如何获取文件路径/目录

    这篇文章主要介绍了Python如何获取文件路径/目录,帮助大家更好的利用python处理文件,感兴趣的朋友可以了解下
    2020-09-09
  • Python 位置参数基础教程示例

    Python 位置参数基础教程示例

    这篇文章主要为大家介绍了Python 位置参数基础教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Python格式化输出的具体实现

    Python格式化输出的具体实现

    本文主要介绍了Python格式化输出的具体实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 基于Python实现下载网易音乐代码实例

    基于Python实现下载网易音乐代码实例

    这篇文章主要介绍了基于Python实现下载网易音乐代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • tensorflow-gpu安装的常见问题及解决方案

    tensorflow-gpu安装的常见问题及解决方案

    这篇文章主要介绍了tensorflow-gpu安装的常见问题及解决方案,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧,需要的朋友可以参考下
    2020-01-01
  • Python字典一个key对应多个value几种实现方式

    Python字典一个key对应多个value几种实现方式

    python中字典的健和值是一一对应的,如果对字典进行添加操作时如果健的名字相同,则当前健对应的值就会被覆盖,有时候我们想要一个健对应多个值的场景,这篇文章主要给大家介绍了关于Python字典一个key对应多个value几种实现方式的相关资料,需要的朋友可以参考下
    2023-10-10

最新评论