Python drop方法删除列之inplace参数实例

drop方法有一个可选参数inplace,表明可对原数组作出修改并返回一个新数组。不管参数默认为False还是设置为True,原数组的内存值是不会改变的,区别在于原数组的内容是否直接被修改。默认为False,表明原数组内容并不改变,如果我们需要得到改变后的内容,需要将新结果赋给一个新的数组,即data = data.drop(['test','test2'],1)。

如果将inplace值设定为True,则原数组内容直接被改变。

测试程序如下

#增加两列空值
import numpy as np
data["test"] = np.nan
data["test2"] = np.nan

name	gender	age	test2	test
0	jerry	M	36	NaN	NaN
1	emma	F	23	NaN	NaN
2	tony	M	34	NaN	NaN
4	bob	M	20	NaN	NaN

#查看此时data的内存地址
id(data)
128971088

#删除这两列,inplace默认为False
id(data.drop(['test','test2'],1))
128971888

#查看data,发现数据并未改变
data
name	gender	age	test	test2
0	jerry	M	36	NaN	NaN
1	emma	F	23	NaN	NaN
2	tony	M	34	NaN	NaN
4	bob	M	20	NaN	NaN

#查看data的ID
id(data)
128971088

#删除这两列,inplace设置为False
id(data.drop(['test','test2'],1,inplace = True))
1545984728

#查看data,数据已经改变
data
name	gender	age	test	test2
0	jerry	M	36	NaN	NaN
1	emma	F	23	NaN	NaN
2	tony	M	34	NaN	NaN
4	bob	M	20	NaN	NaN

#查看data的ID
id(data)
128971088

补充知识:python 使用del和drop方法删除DataFrame的列,使用drop方法一次删除多列

使用del和drop方法删除DataFrame中的列,使用drop方法一次删除多列

# 使用del, 一次只能删除一列,不能一次删除多列
# 只能使用 del df['密度'], 不能使用 del df[['密度', '含糖率']]

del df['密度']

# del df[['密度', '含糖率']] 报错
# 使用drop,有三种方法:

dt = dt.drop(['密度', '含糖率'], axis=1) # axis=1 表示删除列,['密度', '含糖率'] 要删除的col的列表,可一次删除多列

dt.drop(['密度', '含糖率'], axis=1, inplace=True) # inplace=True, 直接从内部删除

dt.drop(dt.columns[[0, 4, 8]], axis=1, inplace=True) # dt.columns[[0, 4, 8]] 直接使用索引查找列

以上这篇Python drop方法删除列之inplace参数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 使用DataFrame删除行和列的实例讲解

    本文通过一个csv实例文件来展示如何删除Pandas.DataFrame的行和列 数据文件名为:example.csv 内容为: date spring summer autumn winter 2000 12.2338809 16.90730113 15.69238313 14.08596223 2001 12.84748057 16.75046873 14.51406637 13.5037456 2002 13.558175 17.2033926 15.6999475 13.23365247

  • pandas DataFrame行或列的删除方法的实现示例

    此文我们继续围绕DataFrame介绍相关操作. 平时在用DataFrame时候,删除操作用的不太多,基本是从源DataFrame中筛选数据,组成一个新的DataFrame再继续操作. 1. 删除DataFrame某一列 这里我们继续用上一节产生的DataFrame来做例子,原DataFrame如下: 我们使用drop()函数,此函数有一个列表形参labels,写的时候可以加上labels=[xxx],也可以不加,列表内罗列要删除行或者列的名称,默认是行名称,如果要删除列,则要增加参数axis=

  • Python中pandas dataframe删除一行或一列:drop函数详解

    用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False) 在这里默认:axis=0,指删除index,因此删除columns时要指定axis=1: inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe: inplace=True,则会直接在原数据上进行删除操作,删除后就回不来了. 例子: >>>df = pd.DataFrame(np.a

  • Python drop方法删除列之inplace参数实例

    drop方法有一个可选参数inplace,表明可对原数组作出修改并返回一个新数组.不管参数默认为False还是设置为True,原数组的内存值是不会改变的,区别在于原数组的内容是否直接被修改.默认为False,表明原数组内容并不改变,如果我们需要得到改变后的内容,需要将新结果赋给一个新的数组,即data = data.drop(['test','test2'],1). 如果将inplace值设定为True,则原数组内容直接被改变. 测试程序如下 #增加两列空值 import numpy as np

  • python argparse模块通过后台传递参数实例

    我就废话不多说了,大家还是直接看代码吧! cmd.py # -*- coding: utf-8 -*- from PySide import QtGui, QtCore import os,sys import tory import argparse parser = argparse.ArgumentParser() parser.add_argument("-v", "--verbosity", help="increase output verbo

  • python通过装饰器检查函数参数数据类型的方法

    本文实例讲述了python通过装饰器检查函数参数数据类型的方法.分享给大家供大家参考.具体分析如下: 这段代码定义了一个python装饰器,通过此装饰器可以用来检查指定函数的参数是否是指定的类型,在定义函数时加入此装饰器可以非常清晰的检测函数参数的类型,非常方便 复制代码 代码如下: def accepts(exception,**types):     def check_accepts(f):         assert len(types) == f.func_code.co_argco

  • python通过urllib2获取带有中文参数url内容的方法

    本文实例讲述了python通过urllib2获取带有中文参数url内容的方法.分享给大家供大家参考.具体如下: 对于中文的参数如果不进行编码的话,python的urllib2直接处理会报错,我们可以先将中文转换成utf-8编码,然后使用urllib2.quote方法对参数进行url编码后传递. content = u'你好 jb51.net' content = content.encode('utf-8') content = urllib2.quote(content) api_url =

  • Python中的默认参数实例分析

    本文研究的主要是Python中的默认参数的相关内容,具体如下. 熟悉C++语言的可以知道,C++语言中的默认参数是写在函数声明中的,为语法糖,与函数的调用无关,是在函数调用的时候由编译器补齐参数然后进行调用. 而Python中的默认参数与其有相当大的不一样,如下例中的代码执行结果会是什么呢? def test_parameter(a, dfp=[]): dfp.append(a) print(dfp) test_parameter(1) test_parameter(2) test_parame

  • python web自制框架之接受url传递过来的参数实例

    我们知道,在django里有个request,可以接收表单等前端传过来的数据,现在我们也做一个类似的功能. 首先我们定义一个类class,然后初始化数据与定义保存参数的方法,如下: class Request(object): def __init__(self): self.method = 'GET' self.path = '' self.query = {} self.body = '' def form(self): body = urllib.parse.unquote(self.b

  • Python rstrip()方法实例详解

    Python 字符串 描述 Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). 语法 rstrip()方法语法: str.rstrip([chars]) 参数 chars – 指定删除的字符(默认为空格) 返回值 返回删除 string 字符串末尾的指定字符后生成的新字符串. 实例 以下实例展示了rstrip()函数的使用方法: #!/usr/bin/python str = " this is string example-wow!!! "; p

  • Python连接Oracle之环境配置、实例代码及报错解决方法详解

    Oracle Client 安装 1.环境 日期:2019年8月1日 公司已经安装好Oracle服务端 Windows版本:Windows10专业版 系统类型:64位操作系统,基于x64的处理器 Python版本:Python 3.6.4 :: Anaconda, Inc. 2.下载网址 https://www.oracle.com/database/technologies/instant-client/downloads.html 3.解压至目录 解压后(这里放D盘) 4.配置环境变量 控制

  • 对python pandas中 inplace 参数的理解

    pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改 inplace = True:不创建新的对象,直接对原始对象进行修改: ​inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果. 默认是False,即创建新的对象进行修改,原对象不变,和深复制和浅复制有些类似. 例: inplace=True情况: import pandas as pd import numpy as np df=pd.DataFrame(np.rand

  • python open函数中newline参数实例详解

    目录 问题的由来 具体实例 总结 问题的由来 我在读pythoncsv模块文档 看到了这样一句话 如果 csvfile 是文件对象,则打开它时应使用 newline=‘’.其备注:如果没有指定 newline=‘’,则嵌入引号中的换行符将无法正确解析,并且在写入时,使用 \r\n 换行的平台会有多余的 \r 写入.由于 csv 模块会执行自己的(通用)换行符处理,因此指定 newline=‘’ 应该总是安全的. 我就在思考open函数中的newline参数的作用,因为自己之前在使用open函数时

随机推荐