pandas DataFrame行或列的删除方法

pandas DataFrame的增删查改总结系列文章:html

此文咱们继续围绕DataFrame介绍相关操做。python

平时在用DataFrame时候,删除操做用的不太多,基本是从源DataFrame中筛选数据,组成一个新的DataFrame再继续操做。函数

1. 删除DataFrame某一列

这里咱们继续用上一节产生的DataFrame来作例子,原DataFrame以下:测试

咱们使用drop()函数,此函数有一个列表形参labels,写的时候能够加上labels=[xxx],也能够不加,列表内罗列要删除行或者列的名称,默认是行名称,若是要删除列,则要增长参数axis=1,操做以下:code

#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版本太老的缘故。htm

这里注意输出的结果是执行此方法的结果,而不是输出test_dict_df的结果,是由于方法默认的并非在自己执行操做,这时候输出test_dict_df输出的仍然是没有进行删除操做的原DataFrame,若是你想在原DataFrame上进行操做,须要加上inplace=True,等价于在操做完再赋值给自己:blog

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上改动。ci

固然,若是你的DataFrame有不少级,你能够加上level参数,这里就很少赘述了。文档

相关文章
相关标签/搜索