2018.03.27 pandas duplicated 和 replace 使用
#.duplicated / .replace
import numpy as np
import pandas as pd
s = pd.Series([1,1,1,1,1,2,3,3,3,4,4,5,6,6])
print(s)
print(s.duplicated())#True表示重复 得到布尔型
print(s[s.duplicated() == False])#
#通过布尔类型的判断来得到不重复的值 s_re = s.drop_duplicates()#直接去除重复值
#inplace=True 表示直接修改原来的值
print(s_re)
print('------') #DataFrame测试
df = pd.DataFrame({'key1':['a','a',3,4,5],
'key2':['a','a','b','b','c']})
print(df)
print('---------------------')
print(df.duplicated())
print('---------------------')
print(df.drop_duplicates())
结果:
0 1
1 1
2 1
3 1
4 1
5 2
6 3
7 3
8 3
9 4
10 4
11 5
12 6
13 6
dtype: int64
0 False
1 True
2 True
3 True
4 True
5 False
6 False
7 True
8 True
9 False
10 True
11 False
12 False
13 True
dtype: bool
0 1
5 2
6 3
9 4
11 5
12 6
dtype: int64
0 1
5 2
6 3
9 4
11 5
12 6
dtype: int64
------
key1 key2
0 a a
1 a a
2 3 b
3 4 b
4 5 c
---------------------
0 False
1 True
2 False
3 False
4 False
dtype: bool
---------------------
key1 key2
0 a a
2 3 b
3 4 b
4 5 c
#.replace()
s = pd.Series(list('aaabbbcdd'))
print(s)
print(s.replace('a',np.nan))
print(s.replace(['a','d'],np.nan))
print(s.replace({'a':'Hello','d':'World'}))
结果:
0 a
1 a
2 a
3 b
4 b
5 b
6 c
7 d
8 d
dtype: object
0 NaN
1 NaN
2 NaN
3 b
4 b
5 b
6 c
7 d
8 d
dtype: object
0 NaN
1 NaN
2 NaN
3 b
4 b
5 b
6 c
7 NaN
8 NaN
dtype: object
0 Hello
1 Hello
2 Hello
3 b
4 b
5 b
6 c
7 World
8 World
dtype: object
2018.03.27 pandas duplicated 和 replace 使用的更多相关文章
- 2018.03.27 pandas concat 和 combin_first使用
# 连接和修补concat.combine_first 沿轴的堆叠连接 # 连接concatimport pandas as pdimport numpy as np s1 = pd.Series([ ...
- 【VSCode】Windows下VSCode编译调试c/c++【更新 2018.03.27】
--------– 2018.03.27 更新--------- 便携版已更新,点此获取便携版 已知BUG:中文目录无法正常调试 用于cpptools 0.15.0插件的配置文件更新 新的launch ...
- 2018.03.27 python pandas merge join 使用
#2.16 合并 merge-join import numpy as np import pandas as pd df1 = pd.DataFrame({'key1':['k0','k1','k2 ...
- 2018/03/27 每日一个Linux命令 之 cron
Cron 用于配置定时任务. -- 环境为 Ubuntu16-04 -- 先说说怎么配置一个简单的定时任务.直观的可以看到效果. 之前在网上查找资料,对Shell编程不熟悉的实在是很头疼,走了不少弯路 ...
- 网易2018.03.27算法岗,三道编程题100%样例AC题解
博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/8660814.html特别不喜欢那些随便转载别人的原创文章又不给 ...
- 数据分析03 /基于pandas的数据清洗、级联、合并
数据分析03 /基于pandas的数据清洗.级联.合并 目录 数据分析03 /基于pandas的数据清洗.级联.合并 1. 处理丢失的数据 2. pandas处理空值操作 3. 数据清洗案例 4. 处 ...
- 20172319 2018.03.27-04.05 《Java程序设计》第4周学习总结
20172319 2018.03.27-04.05 <Java程序设计>第4周学习总结 教材学习内容总结 第四章 编写类 类与对象的回顾:对象是有状态的,状态由对象的属性值确定.属性由类中 ...
- Pandas: 使用str.replace() 进行文本清洗
str.replace()可以一次处理一整个Series.str.replace()的正式形式为 Series.str.replace(pat, repl) ,其中pat为想要寻找的模式,一般为正则表 ...
- 2018/03/31 每日一个Linux命令 之 date
date 命令主要用于查看和修改时间和时区 -- 这里主要学习基本的查看和设置时间和时区的方法. 直接显示日期 date '+%D' 效果 vagrant@hong:~$ date '+%D' 03/ ...
随机推荐
- Django的MTV模型
MTV模型 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. MTV框架是Django的框架,三部分为: Model Template(模板) View ...
- vim 添加显示和行号
方法一: 1.显示当前行行号,在VI的命令模式下输入 :nu 2.显示所有行号,在VI的命令模式下输入 :set nu :set nonu 关闭 方法二: 使用vi编辑~/.vimrc文件,在该文件中 ...
- hadoop的三大组件安装
安装过程分3步走: 1.安装namenode主机一台; 2.安装datanode主机三台; 3.启用集群的三大组件: HDFS,Mapreduce,Yarn. 重要的事情: 新建的虚拟机,预备安装ha ...
- C++11 学习笔记
unique_ptr 可以实现如下功能: 1.为动态申请的内存提供异常安全 2.讲动态申请的内存所有权传递给某函数 3.从某个函数返回动态申请内存的所有权 4.在容器中保存指针 5.auto_ptr ...
- Web Api 接口测试工具:Swagger
前言:WebApi接口开发完毕后,交付给前端人员或手机端开发者时接口说明文档是必不可少的配套设备,如果公司流程不规范大家使用口口相传的交接方式,而且没有改进的欲望,那你可以到此为止了.Swagger是 ...
- java常用关键词关键字,方法源码解析
transient volatile native final Integer String Class &&Object newInstance Class.forName,Clas ...
- pt-archiver使用记录
pt-archiver使用记录 功能:将MySQL表中的行存档到另一个表或文件中用法:pt-archiver [OPTIONS] --source DSN --where WHERE ; trunca ...
- MySQL数据表
创建数据表 CREATE TABLE IF NOT EXISTS ([列名column][类型type][约束可选]) 查看数据表结构 DESC <表名> 修改数据表结构 ALTER ...
- 【NOIP2016提高A组模拟9.17】小a的强迫症
题目 分析 题目要求第i种颜色的最后一个珠子要在第i+1种颜色的最后一个珠子之前, 那么我们从小到大枚举做到第i种,把第i种的最后一颗珠子取出,将剩下的\(num(i)-1\)个珠子插入已排好的前i- ...
- 6423. 【NOIP2019模拟11.11】画
题目描述 Description Input Output Sample Input 3 2 3 3 6 5 1 2 1 3 Sample Output 15 Data Constraint 题解 迫 ...