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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] noscript标签有什么作用?

[html] noscript标签有什么作用? noscript 标签用于当浏览器不支持 JS 的时候在页面上显示一些提示内容,但是也有一些缺点,比如如果是防火墙而不是浏览器禁用了 JS,非但 JS 执行不了,noscript 的内容也不会显示。比较…

ntp时间同步

一、NTP服务器就是利用NTP协议提供时间同步服务的 二、安装 # 系统自带ntp [rootoldboyedu ~]# rpm -qa ntp ntp-4.2.6p5-5.el6.centos.x86_64 # 如果没有就安装 yum -y install ntp三、配置ntp [rootVM-0-14 ~]# vim /etc/ntp.conf # restrict default kod nomodify notrap no…

不出来信号 quartus_男人一旦动了真情,会向你发出这6个“信号”不爱的人装不出来...

恋爱的时候,女人都想知道一个男人是否真的爱你,是否真的在乎你,女人常常在猜测男人的心思。而对一个聪明的女人来说,她们会用眼睛,用心观察身边的那个男人。有人说如果男人对女人动了真情,他会在女人面前表…

python turtle画烟花_用Python写一个绚丽的烟花!

Python人工智能 - 一节课快速认识人工智能必备语言:python - 创客学院直播室​www.makeru.com.cn 哈喽大家好,小编来教大家如何用Python写一个绚丽的烟花,下面我们开始吧~ Turtle库Turtle,也叫海龟渲染器,使用Turtle库画图也叫海龟…

zabbix详解

官网地址 https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent 使用率 转载于:https://www.cnblogs.com/zhaojingyu/p/11440579.html

python设置一个初始为0的计数器_python中统计计数的几种方法

以下实例展示了 count() 方法的使用方法:以上实例输出结果如下:1) 使用字典dict()循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,如果存在就将该元素对应的值加1.2) 使用defaultdict()defaultdict(p…

怎么把整个网站的代码中的一个词去掉_【杭州南牛网络】网站优化的最新优化方法...

【杭州南牛网络】如果你是一名企业主,你有建立企业官方网站的经验,在2-3年的运营过程中,我相信你至少对网站做了一次修改,甚至对SEO战略进行了重大调整。 原因很简单:当我们刚开始建一家公司时,很多时间都是…

[html]说说页面中字体渲染规则是怎样的?会有哪些因素影响字体的渲染?

[html]说说页面中字体渲染规则是怎样的?会有哪些因素影响字体的渲染? 字体渲染: 1.解码,根据web服务器返回的(或者本地网页本身的)content-type charset等信息确定编码,将网页解码成Unicode字符…

数字电影打包内容(Packaging)

在数字电影领域,打包(Packaging)是指将节目素材(含图像、声音和字幕)按照一定的规则进行封装和组织,以用于节目传输和存储。在数字电影发展初期,下发到影院的数字节目没有统一的播放格式&#x…

阿里云盾AliYunDun服务IO超高

停止阿里云盾AliYunDun服务解决大量写磁盘问题-小内存ECS服务器 阿里云数据库在没备案,涉及大量IO操作时会自动启动阿里云盾这个服务,会导致服务器变得很卡,一直持续百分之99,一顿重启没有什么卵用! 最后关…

js页面离开提示

window.onbeforeunload function() { if (blnCheckUnload) return ("确认退出?");}转载于:https://www.cnblogs.com/sususu/archive/2012/03/15/2397733.html

CORS 请求未能成功_当遇到跨域开发时, 我们如何处理好前后端配置和请求库封装(koa/axios版)...

我们知道很多大型项目都或多或少的采用跨域的模式开发, 以达到服务和资源的解耦和高效利用. 在大前端盛行的今天更为如此, 前端工程师可以通过nodejs或者Nginx轻松搭建起web服务器.这个时候我们只需要请求后端服务器的接口即可实现系统的业务功能开发.这个过程中会涉及到web页面…

大屏某区域滚动效果循环

// 数据自动滚动事件BEGIN var botTimer null; // 定时器对象 $(.tbody).hover(function () { clearInterval(botTimer); // hover}, function () { scrollCore(tbodyScroll, tbody); //out}); //function scrollCore(outerId, innerId) { var winHei $("#" oute…

vue-cli部署ngixs_Vue-cli项目部署到Nginx

项目环境:0. Nginx使用以windows版为例,下载niginx压缩包并解压到任意目录,双击nginx.exe,在浏览器中访问http://localhost,如果出现Welcome to nginx!页面则说明成功。nginx常用命令如下:nginx -h# 打开帮…

2.9.JavaScript--内置对象

<!DOCTYPE HTML><html lang"en-US"><head><meta charset"UTF-8"><title>内置对象</title></head><body><script type"text/javascript">/*var email prompt("请输入电子邮箱地址&q…

java 数组存入数据库_Java中关于二维数组的理解与使用

今天练习的时候遇到一个题目&#xff0c;题目需求是这样的&#xff1a;需求说明&#xff1a;根据3个班各5名学生某门课程的成绩&#xff0c;正确使用二维数组计算如图所示3个班各自的总成绩分析&#xff1a;要实现这个功能需要存储两个信息&#xff1a;一个是班级信息&#xff…

feign接口调用出现连接超时

确认代码无误后,调用出现 connect time out 问题. 因为feign已经集成robbon,hystrix,调用在规定时间内达不到就会报上述错误,并且这个规定时间会很短 解决办法:配置文件加入如下配置: 指的是在调用的一方 #hystrix的超时时间hystrix:command:default:execution:timeout:ena…

mysql截取字符串最后两位_Mysql字符串截取函数SUBSTRING的用法说明

感觉上MySQL的字符串函数截取字符&#xff0c;比用程序截取(如PHP或JAVA)来得强大&#xff0c;所以在这里做一个记录&#xff0c;希望对大家有用。函数&#xff1a;1、从左开始截取字符串left(str, length)说明&#xff1a;left(被截取字段&#xff0c;截取长度)例&#xff1a;…

sql删除元组_Lecture #02: 中级SQL

本专栏是对CMU15445的笔记的翻译&#xff0c;原文地址&#xff1a;https://15445.courses.cs.cmu.edu/fall2020/notes/02-advancedsql.pdf1 关系语言在20世纪70年代&#xff0c;Edgar Codd发布了一篇关于关系模型的论文。最初&#xff0c;他只定义了数据库在关系模型上运行查询…

算法之快速排序(递归和非递归)

快速排序的两种实现方式.递归和非递归 1 package com.ebiz.sort;2 3 import java.text.SimpleDateFormat;4 import java.util.Arrays;5 import java.util.Date;6 import java.util.Stack;7 8 /**9 * author YHj10 * create 2019-08-18 17:4211 */12 public class Quick {13 …