python删除指定列或多列单个或多个内容实例

在python中进行数据处理,经常会遇到有些元素内容是不需要的。需要进行删除或者替换。本篇就详细探讨一下各种数据类型(series,dataframe)下的删除方法

随机创建一个DataFrame数据

import pandas as pd
import numpy as np
data=pd.DataFrame(np.random.randint(10,size=(5,3)),columns=['a','b','c'])
>>>
 a b c
0 3 8 2
1 9 9 5
2 4 5 1
3 2 7 5
4 1 2 8

Series:

isin反函数删除不需要的列部分元素,适合大批量:

S数据类型直接使用isin会选出该列包含的指定内容,我们的需求是删除指定内容就需要用到isin的反函数。但是python目前没有类似isnotin这种函数,所以我们需要使用-号来实现isnotin的方法

!=比较运算符方式,适合少量或者用作与同时满足a条件与b条件的情况

isin:

Series的场景

print(data['c'][data['c'].isin([1])])
>>>
2 1
Name: c, dtype: int64

print(data['c'][-data['c'].isin([1])])
>>>
0 2
1 5
3 5
4 8
Name: c, dtype: int64

print(data['c'][-data['c'].isin([1,2])])
>>>
1 5
3 5
4 8
Name: c, dtype: int64

DataFrame场景:

print(data[-data.isin([1,2])])#按Series逻辑操作df发现会出现NAN并没有删除掉
>>>
 a b c
0 3.0 8.0 NaN
1 9.0 9.0 5.0
2 4.0 5.0 NaN
3 NaN 7.0 5.0
4 NaN NaN 8.0
print(data[-data.isin([1,2])].dropna())#我们只需要再加一个dropna删除空值就好了
>>>
a b c
1 9.0 9.0 5.0

!=比较运算符:

Series的场景:

print(data['c'][data['c']!=1])
>>>
0 2
1 5
3 5
4 8
Name: c, dtype: int64

print(data['c'][(data['c']!=1)&((data['c']!=2))])
>>>
1 5
3 5
4 8
Name: c, dtype: int64

DataFrame场景:

分别删除a与b不同条件的数据

print(data[(data['a']!=1)&(data['c']!=2)]
>>>
 a b c
1 9 9 5
2 4 5 1
3 2 7 5

print(data[(data!=1)&(data!=2)].dropna()) #与isin原理相同
 a b c
1 9.0 9.0 5.0

以上这篇python删除指定列或多列单个或多个内容实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • numpy.delete删除一列或多列的方法

    基础介绍: numpy.delete numpy.delete(arr, obj, axis=None)[source] Return a new array with sub-arrays along an axis deleted. For a one dimensional array, this returns those entries not returned by arr[obj]. Parameters: arr : array_like Input array. obj : s

  • 在pandas中一次性删除dataframe的多个列方法

    之前沉迷于使用index删除,然而发现pandas貌似有bug? import pandas as pd import numpy as np df = pd.DataFrame(np.arange(12).reshape(3,4), columns=['A', 'B', 'C', 'D']) x=[1,2] df.drop(index=[1,2], axis=1, inplace=True) #axis=1,试图指定列,然并卵 print df 输出为 A B C D 0 0 1 2 3 还是

  • python 列表删除所有指定元素的方法

    如下所示: a = [1,1,1,2,3,45,1,2,1] a.remove(1) result: [1,1,2,3,45,1,2,1] while 1 in a: a.remove(1) result: [2,3,45,2] 以上这篇python 列表删除所有指定元素的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Python列表删除的三种方法代码分享 Python实现删除列表中满足一定条件的元素示例 Python实现判断并移除列表

  • python集合删除多种方法详解

    这篇文章主要介绍了python集合删除多种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 删除指定的元素 A={'a','c','b','d','e'} print("原集合:",A) A.remove('a') # 不存在会报错 print("删除a后:",A) A.discard('b') # 不存在不会报错 print("删除b后:",A) A.pop() print("

  • python删除指定列或多列单个或多个内容实例

    在python中进行数据处理,经常会遇到有些元素内容是不需要的.需要进行删除或者替换.本篇就详细探讨一下各种数据类型(series,dataframe)下的删除方法 随机创建一个DataFrame数据 import pandas as pd import numpy as np data=pd.DataFrame(np.random.randint(10,size=(5,3)),columns=['a','b','c']) >>> a b c 0 3 8 2 1 9 9 5 2 4 5

  • python删除指定类型(或非指定)的文件实例详解

    本文实例分析了python删除指定类型(或非指定)的文件用法.分享给大家供大家参考.具体如下: 如下,删除目录下非源码文件 import os import string def del_files(dir,topdown=True): for root, dirs, files in os.walk(dir, topdown): for name in files: pathname = os.path.splitext(os.path.join(root, name)) if (pathna

  • python 删除指定时间间隔之前的文件实例

    遍历指定文件夹下的文件,根据文件后缀名,获取指定类型的文件列表:根据文件列表里的文件路径,逐个获取文件属性里的"修改时间",如果"修改时间"与"系统当前时间"差值大于某个值,则删除该文件. #!/usr/bin/env python # -*- coding: utf-8 -*- """Document: Remove Synctoycmd sync expired .tmp files""&qu

  • python 在指定范围内随机生成不重复的n个数实例

    利用Python中的randomw.sample()函数实现 resultList=random.sample(range(A,B),N); #表示从[A,B]间随机生成N个数,结果以列表返回 以上这篇python 在指定范围内随机生成不重复的n个数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python删除指定目录下过期文件的2个脚本分享

    脚本1: 这两天用python写了一个删除指定目录下过期时间的脚本.也可能是我初学python,对python还不够熟习,总觉得这个脚本用shell写应该更简单也更容易些.就功能上来说,该脚本已经实现了我想要的效果,不过该脚本还不够通用性,还有更多可以完善的地方.目前该脚本在python2.4下运行良好.同时,我在脚本中加入了对python版本的判断,理论上2.7下也应该可以正常使用.有环境的朋友可以帮忙测试一下.该脚本不完善的地方在于,只能支持一级目录下的文件删除,还不支持目录递归.同时过期文

  • jquery删除指定的html标签并保留标签内文本内容的方法

    例如有这样一段html代码: 复制代码 代码如下: 我们演示代码  <p>大家好,欢迎来到jb51.net</p>  这里为大家提供最优秀的<a href="http://www.jb51.net/js">js</a>代码和教程 我们希望删除这段html代码里面的一对<p>标签,但是要保持里面的内容不被删除,这里我们用jquery处理,详细的jQuery代码: 复制代码 代码如下: <script type="

  • 基于python实现删除指定文件类型

    Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构. Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言. Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码. Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封

  • Python pandas删除指定行/列数据的方法实例

    目录 1.滤除缺失数据dropna() 1)滤除含有NaN值的所有行 2)滤除含有NaN值的所有列 3)滤除元素都是NaN值的行 4)滤除元素都是NaN值的列 5)滤除指定列中含有缺失的行 2.删除重复值 drop_duplicates() 1)keep=“first” 2)keep=“last” 3)keep=False 4)删除指定列中重复项对应的行 3.根据指定条件删除行列drop() 1).删除指定列 2).删除指定行 总结 1.滤除缺失数据dropna() import pandas

  • python实现选取或删除指定列包含指定内容的行

    目录 选取或删除指定列包含指定内容的行 选取所有货币代号为1的行 选取所有货币代号列内容为1的数据 选取所有货币代号列内容不为1的数据 删除含有特定数值的行 选取或删除指定列包含指定内容的行 选取所有货币代号为1的行 数据读取 source_df= pd.read_excel('EXCEL2019-06-05.xls') 打印数据,查看数据长度 print(source_df.head()) print(len(source_df)) 选取所有货币代号列内容为1的数据 data_ = sourc

  • 使用Python向DataFrame中指定位置添加一列或多列的方法

    对于这个问题,相信很多人都会很困惑,本篇文章将会给大家介绍一种非常简单的方式向DataFrame中任意指定的位置添加一列. 在此之前或许有不少读者已经了解了最普通的添加一列的方式,如下: import pandas as pd feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_train_data.txt", delimiter="\t", header=None, usecols=[0, 1

随机推荐