今天笔者想对pandas中的行进行去重操作,找了好久,才找到相关的函数
先看一个小例子
from pandas import Series, DataFrame data = DataFrame({'k': [1, 1, 2, 2]}) print data IsDuplicated = data.duplicated() print IsDuplicated print type(IsDuplicated) data = data.drop_duplicates() print data
执行结果是:
k
0 1
1 1
2 2
3 2
0 False
1 True
2 False
3 True
k
0 1
2 2
DataFrame的duplicated方法返回一个布尔型Series,表示各行是否重复行。
而 drop_duplicates方法,它用于返回一个移除了重复行的DataFrame
这两个方法会判断全部列,你也可以指定部分列进行重复项判段。
drop_duplicates根据数据的不同情况及处理数据的不同需求,通常会分为两种情况,一种是去除完全重复的行数据,另一种是去除某几列重复的行数据,就这两种情况可用下面的代码进行处理。
1. 去除完全重复的行数据
data.drop_duplicates(inplace=True)
2. 去除某几列重复的行数据
data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)
- subset: 列名,可选,默认为None
- keep: {‘first', ‘last', False}, 默认值 ‘first'
- first: 保留第一次出现的重复行,删除后面的重复行。
- last: 删除重复项,除了最后一次出现。
- False: 删除所有重复项。
- inplace:布尔值,默认为False,是否直接在原数据上删除重复项或删除重复项后返回副本。(inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。)
例如,希望对名字为k2的列进行去重,
data.drop_duplicates(['k2'])
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。