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/ ...
随机推荐
- Windows 下apache https配置(phpstudy)
1.首先获取证书,https://www.pianyissl.com/ 免费三个月的 或者 自己生成私钥.证书,然后应用到apache中. http://blog.sina.com.cn/s/blo ...
- laravel5.8 eloquent
https://learnku.com/docs/laravel/5.8/eloquent/3931 示例1: $flights = App\Flight::all(); foreach ($flig ...
- Big Data(五)关于Hadoop的HA的实践搭建
JoinNode 分布在node01,node02,node03 1.停止之前的集群 2.免密:node01,node02 node02: cd ~/.ssh ssh-keygen -t dsa -P ...
- ubuntu 设置apt-get 代理
1 添加apt-get 代理配置文件 sudo vi /etc/apt/apt.conf.d/proxy.conf 2 添加内容 Acquire::http::Proxy "http://w ...
- 彻底解决 TypeScript 报错:“无法重新声明块范围变量”的问题
背景 当使用 TypeScript + TSlint + Babel + Jest 搭建开发环境时,在开发过程中偶尔会被 IDE 提示「无法重新声明块范围变量」,从而导致编译出错,报错图示如下: 相关 ...
- python 字符串方法及列表,元组,字典(一)
字符串 str 注: 若想要保持单引号和双引号为字符串的一部分 1)单双引号交替使用, 2)使用转义字符\ 3)成对三个引号被存在变量里 二.字符串详细用法 字符串的单个取值例 p_1=”hello” ...
- java.sql.SQLException: Access denied for user 'root'@'d001' (using password: YES)
在安装CDH的时候报错了: root@d001:/var/cache//base# /opt/cm-/share/cmf/schema/scm_prepare_database.sh mysql cd ...
- MYSQL<五>
-- ########## 01.LIMIT的使用和分页 ########## INSERT INTO studentinfo VALUES(NULL, '刘备', '男', 35), (NULL, ...
- git的用法的总结
git的基本用法(一) 1).git的初始化 --配置用户名和邮箱 不然后面无法提交 git config --global user.name "myname"; git con ...
- linux常用的镜像(centos、kali、redhat等)官方下载地址
常用的linux版本: Redhat:https://developers.redhat.com/topics/linux/ Centos:https://www.centos.org/downloa ...