● 选择题

以下关于DataFrame.duplicated()函数说法错误的是:

A 该函数用于标记dataframe中内容重复的行

B 该函数返回值是一个序列,True表示重复

C 行内容被判定重复时,该行各列的值一定都重复

D keep参数默认取值为"first"

● 问题解析

1.DataFrame.duplicated(subset = None,keep ='first')函数用于找出dataframe的重复行。返回可以正确表示是否为重复行的布尔序列(即非重复项标记为False,重复项标记为True)。则A,B正确。

2.subset参数:列标签(可以是一列,也可以是多列,默认是所有列),可选,仅考虑某些列来标识重复项,默认情况下考虑所有列来标记重复项。C错误,既可以考虑所有列来判断是否重复,也可以只考虑某些列来判断是否重复。

3.keep参数:参数取值包括{'first','last',False},默认为'first'。若取值为first,表示若有重复项,将第一个出现的重复项标记为False,并将其余相同的项标记为True。若取值为last,表示若有重复项,将最后一个出现的重复项标记为False,并将其余相同的项标记为True。若取值为False,表示若有重复项,将所有重复项标记为True。D正确。

● 附图 

图1 DataFrame.duplicated()函数不同参数取值对比(1)

图2 DataFrame.duplicated()函数不同参数取值对比(2)

图3 DataFrame.duplicated()函数不同参数取值对比(3)

● 附图代码

import pandas as pd

from pandas import DataFrame

df = pd.DataFrame({'col1': ['一', '一', '二', '二',  '三', '四','四'],

          'col2': [ 1 , 2 , 1 , 1 , 1 , 1 ,1], 

'col3':['AA','BB','CC','DD','EE','FF','FF']}) 

df

df.duplicated()#取默认参数,基于所有列,keep取first

df.duplicated('col1') #基于col1,keep取first

df.duplicated('col1',keep='last') #基于col1,keep取last

df.duplicated('col1',False) #基于col1,keep取False

df.duplicated(['col1','col2'])#基于col1,col2,keep取first

● 正确答案

C

 

欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn

● 温馨期待

期待大家提出宝贵建议,互相交流,收获更大,助教:zx

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐