Pandas 合并多个Dataframe(merge,concat)的方法
作者:chixujohnny 发布时间:2021-07-14 07:26:58
标签:Pandas,Dataframe,merge,concat
在数据处理的时候,尤其在搞大数据竞赛的时候经常会遇到一个问题就是,多个表单的合并问题,比如一个表单有user_id和age这两个字段,另一个表单有user_id和sex这两个字段,要把这两个表合并成只有user_id、age、sex三个字段的表怎么办的,普通的拼接是做不到的,因为user_id每一行之间不是对应的,像拼积木似的横向拼接肯定是不行的。
pandas中有个merge函数可以做到这个实用的功能,merge这个词会点SQL语言的应该都不陌生。
下面说说merge函数怎么用:
df = pd.merge(df1, df2, how='left', on='user_id')
用法很简单,说一下后两个参数就可以了,how=""参数表示以哪个表的key为准,上面的how="left"表示以表df1为准,而key也就是on=""的参数
how="left"就是说,保留user_id字段的全部信息,不增加也不减少,但是拼接的时候只把df2表中的与df1中user_id字段交集的部分合并上就可以了,如果df2中出现了某个user_id在df1中没有出现,就抛弃掉这个样本不作处理。
如果要进行多key合并:
df = pd.merge(df1, df2, how='left', on=['user_id','sku_id'])
但是如果想仅进行简单的“拼接”而不是合并呢,要使用concat函数:
df = pd.concat( [df_user, dummies_sex, dummies_age, dummies_level], axis=1 )
这样可以保留这些表单的全部信息,参数axis=1表示列拼接,axis=0表示行拼接。
要保证背个表单的行数是相同的,并且每一行对应的key也是相同的,列拼接才变得有意义
来源:https://blog.csdn.net/chixujohnny/article/details/68059992
0
投稿
猜你喜欢
- 很多小伙伴都不会在家里或者办公室安装网络摄像头或监视摄像头。但是有时,大家又希望能够随时随地观看视频直播。大多数人会选择使用IP摄像机(In
- 向量点乘 (dot) 和对应分量相乘 (multiply) :>>> aarray([1, 2, 3])>>&
- REST framework定义的异常APIException 所有异常的父类ParseError 解析错误AuthenticationFa
- 初识OpenCVOpenCV是一个开源的,跨平台的计算机视觉库,它采用优化的C/C++代码编写,能够充分利用多核处理器的优势,提供了Pyth
- 引文: 长期以来,多媒体信息在计算机中都是以文件形式存放,由操作系统管理的,但是随着计算机网络,分布式计算的发展,对多媒体信息进行高效的管理
- 一、建立文件,保存数据1.使用python中内置的open函数 打开txt文件#mode 模式#w 只能操作写入 r 只能读取 a 向文件追
- 简介这两天更新完Xcode8之后发现Xcode对图标的要求又有了变化,之前用的一个小应用“IconKit”还没赶上节奏,已经不能满足Xcod
- 需求:两个文件,一个文件为统计报表,里面含有手机号,另一个文件为手机号段归属地,含有手机号码前七位对应的地区。需要对统计报表进行处理,将手机
- 定义和用法strftime() 函数根据区域设置格式化本地时间/日期。语法strftime(format,timestamp)参数 描述 f
- 2008年,对于JavaScript来说是非常振奋人心的一年,很多高人加入到JavaScript和Web开发的阵营中来,浏览器厂商在技术上互
- 本文实例讲述了ASP.NET中MVC从后台控制器传递数据到前台视图的方式。分享给大家供大家参考。具体分析如下:数据存储模型Model:pub
- 导入相关的包import pygame, sys, randomfrom pygame.locals import *设置屏幕大小以及基本参
- 1、安装coveragepip install coverage安装完成后,会在Python环境下的\Scripts下看到coverage.
- [Python标准库]decimal——定点数和浮点数的数学运算 &n
- 把dataframe转换为list输入多维dataframe: df = pd.DataFrame({'a':[1,3,5,
- 论坛有人问起如何获取读取CSS属性值,就写了下面这段兼容各浏览器的获取HTML元素的css属性值函数:function getSt
- 类中定义的方法大致可以分为两类:绑定方法和非绑定方法。其中绑定方法又可以分为绑定到对象的方法和绑定到类的方法。一、绑定方法1 对象的绑定方法
- 引入大家在使用谷歌或者百度搜索时,输入搜索内容时,谷歌总是能提供非常好的拼写检查,比如你输入 speling,谷歌会马上返回 spellin
- 代码如下:<% '隐藏并修改文件的最后修改时间的aspshell '原理:通过FSO可以修改文件的
- 进程、线程和协程进程的定义:进程,是计算机中已运行程序的实体。程序本身只是指令、数据及其组织形式的描述,进程才是程序的真正运行实例。线程的定