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

pandas DataFrame行或列的删除方法的实现示例,第1张

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参数,这里就不多赘述了。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3260253.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-04
下一篇 2022-10-04

发表评论

登录后才能评论

评论列表(0条)

保存