python concat去除重复值语句_Python数据处理从零开始----第二章(pandas)④数据合并和处理重复值...
目录
第二章(pandas)
Python数据处理从零开始----第二章(pandas)④数据合并和处理重复值
===============================================
数据合并
在数据处理中,通常将原始数据分开几个部分进行处理而得到相似结构的Series或DataFrame对象,我们该如何进行纵向合并它们?这时我们可以选择用pd.concat()方式极易连接两个或两个以上的Series或DataFrame对象。如下是该函数的参数解读:
pd.concat(objs, axis=0, join=’outer’, join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True)
参数说明:
objs:连接对象,多以列表、字典传入
axis:轴向,0代表纵向连接,1,代表横向连接
join:连接方式,共有’inner’,’left’,right’,’outer’
join_axes:参与连接的索引
ignore_index:是否忽略索引
keys:层次化索引
横向连接
import pandas as pd
s1=pd.Series([1,2,3],index=list('abc'))
s2=pd.Series([3,4,5],index=list('bde'))
pd.concat([s1,s2])
Out[6]:
a 1
b 2
c 3
b 3
d 4
e 5
dtype: int64
纵向连接
pd.concat([s1,s2],axis=1)
__main__:1: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version
of pandas will change to not sort by default.
To accept the future behavior, pass 'sort=False'.
To retain the current behavior and silence the warning, pass 'sort=True'.
Out[7]:
0 1
a 1.0 NaN
b 2.0 3.0
c 3.0 NaN
d NaN 4.0
e NaN 5.0
内连接
pd.concat([s1,s2],axis=1,join='inner')
Out[8]:
0 1
b 2 3
import pandas as pd
from pandas import Series,DataFrame
dict1={
'key':['a','b','c'],
'col1':range(3)
}
df1 = DataFrame(dict1)
df1
Out[18]:
key col1
0 a 0
1 b 1
2 c 2
dict2={
'key':['b','c','d'],
'col2':range(1,4)
}
df2 =DataFrame(dict2)
df2
Out[19]:
key col2
0 b 1
1 c 2
2 d 3
dat = pd.merge(df1,df2)
dat
Out[14]:
key col1 col2
0 b 1 1
1 c 2 2
pandas默认寻找共同的column,然后合并共同的观测值,但是可以根据,on='',和how=''来控制连接的键和合并的方式。
移除重复数据
首先创建一个数据框
# -*- coding: utf-8 -*-
"""
Created on Thu Nov 29 01:33:46 2018
@author: czh
"""
%clear
%reset -f
# In[*]
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
import os
import numpy as np
import pandas as pd
# In[*]
data = pd.DataFrame({'k1': ['one', 'two'] * 3 + ['two'],
'k2': [1, 1, 2, 3, 3, 4, 4]})
data
data.duplicated()
0 False
1 False
2 False
3 False
4 False
5 False
6 True
dtype: bool
通过以上我们发现最后一行(第七行)存在一个完全重复的行,一般情况下,我们需要删除掉这行,主要通过drop_duplicates()函数,该函数返回的结果是一个数据框。
data.drop_duplicates()
Out[9]:
k1 k2
0 one 1
1 two 1
2 one 2
3 two 3
4 one 3
5 two 4
这两个方法默认会判断全部列,你也可以指定部分列进行重复项判断(一般情况下,我们希望去掉某一列重复的观测值),假设我们还有一列值,且只希望根据k1列过滤重复项:
data['v1'] = range(7)
data
data.drop_duplicates(['k1'])
Out[10]:
k1 k2 v1
0 one 1 0
1 two 1 1
python concat去除重复值语句_Python数据处理从零开始----第二章(pandas)④数据合并和处理重复值...相关推荐
- python科赫曲线绘制正方形_Python数据处理从零开始----第四章(可视化)(14)使用seaborn绘制热图...
目录 Python数据处理从零开始----第四章(可视化)①③多变量绘图 Python数据处理从零开始----第四章(可视化)(14)使用seaborn绘制热图 seaborn.heatmapHeat ...
- python绘制函数曲线x2sin(x2-x-2)_Python数据处理从零开始----第四章(可视化)(2)图形和轴...
正文 导入包 当我们需要对数据进行可视化时,我们遇到的可能最简单的是单个函数的可视化y = f(x)y = f(x). 在这里,我们将首先看一下这种类型的简单绘图.第一步先导入包:% reset -f ...
- 【Python】图解Pandas数据合并:concat、join、append
公众号:尤而小屋 作者:Peter 编辑:Peter 图解pandas数据合并:concat+join+append 在上一篇文章中介绍过pandas中最为常用的一个合并函数merge的使用,本文中介 ...
- PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 47784 pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYS
PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 标签: 47784 编辑 删除 pandas作者Wes McKinney 在[PYTHON FOR DA ...
- pandas数据合并:concat、join、append
公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 图解pandas数据合并:concat+join+append 在上一篇文章中介绍过pandas中最为常用的一个合并函数 ...
- 【python数据分析】pandas数据合并
pandas数据合并 使用contact,append,merge完成数据集合并 自己学习用,欢迎大佬指正. 1.concat pd.concat()可以合并series和DataFrame对象,默认 ...
- 《Python网络爬虫——从入门到实践》第六章将数据存储至MySQL数据库的学习心得与总结(出错与纠正方法)
<Python网络爬虫--从入门到实践>第六章将数据存储至MySQL数据库的学习心得与总结(出错与纠正方法) 作为刚开始入门python的小白,对大数据,网络爬虫比较感兴趣.完全是自我修炼 ...
- python concat去除重复值语句_Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)...
摘要 在进行数据分析时,我们经常需要对DataFrame去重,但有时候也会需要只保留重复值. 这里就简单的介绍一下对于DataFrame去重和取重复值的操作. 创建DataFrame 这里首先创建一个 ...
- python avg函数在哪个模块_python数据处理工具–Pandas模块
健壮的数据处理模块Pandas,能够处理数据的预处理作业,如数据类型的转化.缺失值的处理.描绘性核算分析和数据的汇总等 一.序列与数据框的结构 Pandas模块的中心操作政策为序列和数据框.序列指数据 ...
最新文章
- 收藏!全国31个省市区重点产业布局!
- SpringBoot------全局异常捕获和自定义异常
- linux禁用锁定和解除解锁用户账号的方法
- 7.1.2 定义改进的Sales_date类
- 制作程序化装饰花纹图案_装饰图案
- C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息
- 码农节快乐|一个系统,高效解决复杂事件采集-计算-实时触达
- calender获取日期前几月_java获取当前时间和前一天日期(实现代码)
- mybatis-generator配置流程(详细) 2021-05-15
- 如何打造一个让粉丝一见就能收钱的朋友圈
- 数据结构基础--线性表
- 交叉熵和极大似然估计的再理解
- 预备作业03 20162311张之睿
- win7电脑桌面便签哪个好用
- IPD不仅是流程更是管理体系(附华为IPD培训资料)
- 联想Y400 拆光驱加装固态硬盘
- rust潘通色_[转载]PANTONE(潘通色卡)TPX/TCX色号颜色查询--以后不用愁啦!!!...
- Java 未来行情到底如何,来看看各界人士是怎么说的
- 中国红党员读书分享学习交流会PPT模板
- 1147601-11-3,2-Azidoethan-1-amine hydrobromide是连接物
热门文章
- pcie 的function_PCIe扫盲——BDF与配置空间
- android模块化 osgi,蚂蚁金融级移动应用 osgi 模块化架构实践.pdf
- Workbox.strategies v3.x 中文版
- python文件头--文件编码指定
- 运行shell:windows命令,及显示桌面.scf的问题
- 图文:详解数据库Oracle 11g的基本安装
- ie浏览器跨域报错问题;Access-Control-Allow-Headers 列表不存在请求表头 content-type;XMLHTTPRequest:网络错误 0x80070005,拒绝访问。
- Eclipse: select at least one project
- 函数 devm_kzalloc()
- React开发(171):处理删除与批量删除操作