pandas DataFrame行或列的删除方法的实现示例
此文我们继续围绕DataFrame介绍相关操作。
平时在用DataFrame时候,删除操作用的不太多,基本是从源DataFrame中筛选数据,组成一个新的DataFrame再继续操作。
1. 删除DataFrame某一列
这里我们继续用上一节产生的DataFrame来做例子,原DataFrame如下:
我们使用drop()
函数,此函数有一个列表形参labels,写的时候可以加上labels=[xxx],也可以不加,列表内罗列要删除行或者列的名称,默认是行名称,如果要删除列,则要增加参数axis=1
,操作如下:
#pd.__version__ =='0.18.0' #drop columns test_dict_df.drop(['id'],axis=1) #test_dict_df.drop(columns=['id']) # official operation, maybe my pandas version needs update!
结果如下,对于上面的代码,官方教程文档中给出了columns=['name']
,但是在我测试的时候会报错,我用的python3,pandas版本为0.18,可能是pandas版本太老的缘故。
这里注意输出的结果是执行此方法的结果,而不是输出test_dict_df
的结果,是因为方法默认的并不是在本身执行操作,这时候输出test_dict_df
输出的仍然是没有进行删除操作的原DataFrame,如果你想在原DataFrame上进行操作,需要加上inplace=True
,等价于在操作完再赋值给本身:
test_dict_df.drop(['id'],axis=1,inplace=True) # test_dict_df = test_dict_df.drop(['id'],axis=1)
2. 删除DataFrame某一行
删除某一行,在上面删除列操作的时候也稍有提及,如果不加axis=1,则默认按照行号进行删除,例如要删除第0行和第4行:
test_dict_df.drop([0,4])
同理,你要在源DataFrame上进行操作就得加上inplace参数,否则不会在test_dict_df上改动。
当然,如果你的DataFrame有很多级,你可以加上level参数,这里就不多赘述了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
在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 pandas.DataFrame 的多重index实例
如下dataframe想要删除多层index top1000[:10] name sex births year prop year sex 1880 F 0 Mary F 7065 1880 0.077643 1 Anna F 2604 1880 0.028618 2 Emma F 2003 1880 0.022013 3 Elizabeth F 1939 1880 0.021309 4 Minnie F 1746 1880 0.019188 5 Margaret F 1578 1880 0.
-
Pandas:Series和DataFrame删除指定轴上数据的方法
如下所示: import numpy as np import pandas as pd from pandas import Series,DataFrame 一.drop方法:产生新对象 1.Series o = Series([1,3,4,7],index=['d','c','b','a']) print(o.drop(['d','b'])) c 3 a 7 dtype: int64 2.DataFrame data = {'水果':['苹果','梨','草莓'], '数量':[3,2,5
-
详解pandas.DataFrame中删除包涵特定字符串所在的行
你在使用pandas处理DataFrame中是否遇到过如下这类问题?我们需要删除某一列所有元素中含有固定字符元素所在的行,比如下面的例子: 以上所述是小编给大家介绍的pandas.DataFrame中删除包涵特定字符串所在的行详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!
-
pandas DataFrame 删除重复的行的实现方法
1. 建立一个DataFrame C=pd.DataFrame({'a':['dog']*3+['fish']*3+['dog'],'b':[10,10,12,12,14,14,10]}) 2. 判断是否有重复项 用duplicated( )函数判断 C.duplicated() 3. 有重复项,则可以用drop_duplicates()移除重复项 C.drop_duplicates() 4. Duplicated( )和drop_duplicates( )方法是以默认的方式判断全部的列(上面
-
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
前言 最近在网上搜了许多关于pandas.DataFrame的操作说明,都是一些基础的操作,但是这些操作组合起来还是比较费时间去正确操作DataFrame,花了我挺长时间去调整BUG的.我在这里做一些总结,方便你我他.感兴趣的朋友们一起来看看吧. 一.创建DataFrame的简单操作: 1.根据字典创造: In [1]: import pandas as pd In [3]: aa={'one':[1,2,3],'two':[2,3,4],'three':[3,4,5]} In [4]: bb=
-
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
-
pandas.DataFrame删除/选取含有特定数值的行或列实例
1.删除/选取某列含有特殊数值的行 import pandas as pd import numpy as np a=np.array([[1,2,3],[4,5,6],[7,8,9]]) df1=pd.DataFrame(a,index=['row0','row1','row2'],columns=list('ABC')) print(df1) df2=df1.copy() #删除/选取某列含有特定数值的行 #df1=df1[df1['A'].isin([1])] #df1[df1['A'].
-
pandas DataFrame行或列的删除方法的实现示例
此文我们继续围绕DataFrame介绍相关操作. 平时在用DataFrame时候,删除操作用的不太多,基本是从源DataFrame中筛选数据,组成一个新的DataFrame再继续操作. 1. 删除DataFrame某一列 这里我们继续用上一节产生的DataFrame来做例子,原DataFrame如下: 我们使用drop()函数,此函数有一个列表形参labels,写的时候可以加上labels=[xxx],也可以不加,列表内罗列要删除行或者列的名称,默认是行名称,如果要删除列,则要增加参数axis=
-
python中pandas库中DataFrame对行和列的操作使用方法示例
用pandas中的DataFrame时选取行或列: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.arange(3.)) data = DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz')) data['w'] #选择表格中的'w'列,使用类字典属性,返回的是S
-
pandas DataFrame 根据多列的值做判断,生成新的列值实例
环境:Python3.6.4 + pandas 0.22 主要是DataFrame.apply函数的应用,如果设置axis参数为1则每次函数每次会取出DataFrame的一行来做处理,如果axis为1则每次取一列. 如代码所示,判断如果城市名中含有ing字段且年份为2016,则新列test值赋为1,否则为0. import numpy as np import pandas as pd data = {'city': ['Beijing', 'Shanghai', 'Guangzhou', 'S
-
pandas DataFrame实现几列数据合并成为新的一列方法
问题描述 我有一个用于模型训练的DataFrame如下图所示: 其中的country.province.city.county四列其实是位置信息的不同层级,应该合成一列用于模型训练 方法: parent_teacher_data['address'] = parent_teacher_data['country']+parent_teacher_data['province']+parent_teacher_data['city']+parent_teacher_data['county'] 就
-
如何更改 pandas dataframe 中两列的位置
如何更改 pandas dataframe 中两列的位置: 把其中的某列移到第一列的位置. 原来的 df 是: df = pd.read_csv('I:/Papers/consumer/codeandpaper/TmallData/result01.csv') Net Upper Lower Mid Zsore Answer option More than once a day 0% 0.22% -0.12% 2 65 Once a day 0% 0.32% -0.19% 3 45 Sever
-
python中绑定方法与非绑定方法的实现示例
目录 一:绑定方法:其特点是调用方本身自动作为第一个参数传入 二:非绑定方法,静态方法 一:绑定方法:其特点是调用方本身自动作为第一个参数传入 1.绑定到对象的方法:调用方是一个对象,该对象自动传入 2.方法绑定到类:调用方是类,类自动传入 import settings_A class 后台数据库: def __init__(self,ip,port): self.ip=ip self.port=port def 基本功能(self): print('%s:%s' %(self.ip,self
-
修改Pandas的行或列的名字(重命名)
pandas.DataFrame.rename 使用函数: DataFrame.rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None) 功能:更改轴标签 函数字典值必须是唯一的(1对1).未包含在 字典/Series 中的标签将保留原样.列出的额外标签不会引发错误. 参数: mapper, index, columns : dict-like or functi
-
pandas按行按列遍历Dataframe的几种方式
遍历数据有以下三种方法: 简单对上面三种方法进行说明: iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Series)对,可以通过row[name]对元素进行访问. itertuples(): 按行遍历,将DataFrame的每一行迭代为元祖,可以通过row[name]对元素进行访问,比iterrows()效率高. iteritems():按列遍历,将DataFrame的每一列迭代为(列名, Series)对,可以通过row[index]对元素进行访问. 示例
-
swift中利用runtime交换方法的实现示例
前言 Runtime介绍 学习一个东西至少要先知道它是个啥,你一定听说过"运行时是 Objective-C 的一个特色",这里的"运行时"就是指 runtime 了. 老的方式initialize现在已经不适用了,需要用新的方式代替. 思路: 定义一个启动的协议,在app完成启动的方法里把需要做method swizzle的类跑一边协议的方法 第一种 1.Step One protocol SelfAware: class { static func awake()
-
Pandas.DataFrame删除指定行和列(drop)的实现
目录 DataFrame指定的行删除 按行名指定(行标签) 按行号指定 未设置行名的注意事项 DataFrame指定的列删除 按列名指定(列标签) 按列号指定 多行多列的删除 使用drop()方法删除pandas.DataFrame的行和列. 在0.21.0版之前,请使用参数labels和axis指定行和列.从0.21.0开始,可以使用index或columns. 在此,将对以下内容进行说明. DataFrame指定的行删除 按行名指定(行标签) 按行号指定 未设置行名的注意事项 DataFra
随机推荐
- nginx支持tcp转发的配置分享
- IIS7、iis7.5中禁止缓存单个静态文件的配置方法
- java实现微博后台登录发送微博
- CentOS 5.4+OpenVZ+Vtonf实现VPS服务器的方法
- asp.net gridview多页时的批量删除
- php 算法之实现相对路径的实例
- 深入解析Python的Tornado框架中内置的模板引擎
- Python时区设置方法与pytz查询时区教程
- python实现的jpg格式图片修复代码
- 用asp自动解析网页中的图片地址
- C# 多态性的深入理解
- JavaScript实现快速排序(自已编写)
- 深入理解Javascript中的valueOf与toString
- Java和C#下的参数验证方法
- 高效的jquery数字滚动特效
- JS非Alert实现网页右下角“未读信息”效果弹窗
- Mysql中Join的使用实例详解
- jQuery绑定自定义事件的魔法升级版
- 收到GOOGLE支票后,该怎么办
- C语言基础知识变量的作用域和存储方式详细介绍