今天这篇跟大家介绍R语言与Python数据处理中的第二个小知识点——数据合并与追加。
主要内容:
针对数据合并与追加,R与Python中都有对应的函数可以快速完成需求,根据合并与追加的使用场景,这里我将本文内容分成三部分:
- 数据合并(简单合并,无需匹配)
- 数据合并(匹配合并)
- 数据追加
数据合并(简单合并,无需匹配)
针对简单合并而言,在R语言中主要通过以下两个函数来实现:
- cbind()
- dplyr::bind_cols()1234567891011121314151617df1 <- data.frame(A=c('A0', 'A1', 'A2', 'A3'),B= c('B0', 'B1', 'B2', 'B3'),C= c('C0', 'C1', 'C2', 'C3'),D=c('D0', 'D1', 'D2', 'D3'))df2 <- data.frame(E=c('A4', 'A5', 'A6', 'A7'),F= c('B4', 'B5', 'B6', 'B7'),G=c('C4', 'C5', 'C6', 'C7'),H= c('D4', 'D5', 'D6', 'D7'))df3 <-data.frame(I=c('A8', 'A9', 'A10', 'A11'),J= c('B8', 'B9', 'B10', 'B11'),K=c('C8', 'C9', 'C10', 'C11'),L=c('D8', 'D9', 'D10', 'D11'))df1;df2;df3mydata1<-cbind(df1,df2,df3);mydata1mydata2<-dplyr::bind_cols(df1,df2,df3);mydata1
在Python中,简单的合并可以通过Pandas中的concat函数来实现的。
|
|
横向合并:(需匹配)
在R语言中,这种操作有很多可选方案,如基础函数merge、plyr包中的join函数以及dplyr包中的left/right/inter/full_join等函数。
- merge
- plyr::join
- dplyr::left/right/inter/full_join
这里为了节省时间,只介绍第一种基础函数,欲了解详情,可以查看这篇历史文章:
|
|
|
|
在Python中,这一操作也可以通过函数Pandas库中的cancat函数或者merge函数来完成。
Pandas-merge
|
|
|
|
数据追加:
数据追加通常只需保证数据及的宽度一致且列字段名称一致,相对来说比较简单。在R语言和Python中,也很好实现。
在R语言中,可视化朱数据追加的函数有:
- rbind()
- dplyr::bind_rows()
|
|
python中则可以很容易的通过数据框本身的append函数来实现简单的数据追加:
|
|
如果是使用canat函数也可以非常轻松的完成数据追加:
本文汇总:
工具 | 数据合并 (简单合并) |
数据合并 (匹配和并) |
数据追加: |
---|---|---|---|
R: | cbind dplyr::bind_cols |
merge plyr::join dplyr::left/right/inter/full_join |
rbindd plyr::bind_rows |
Python: | Pandas-cancat | merge cancat |
append cancat |
以上仅是个人常用的几种,方法肯定不至于此,欢迎大家补充!
联系方式:
wechat:ljty1991
Mail:578708965@qq.com
个人公众号:数据小魔方(datamofang)
qq交流群:[魔方学院]298236508
个人简介:
杜雨
财经专业研究僧;
伪数据可视化达人;
文科背景的编程小白;
喜欢研究商务图表与地理信息数据可视化,爱倒腾PowerBI、SAP DashBoard、Tableau、R ggplot2、Think-cell chart等诸如此类的数据可视化软件,创建并运营微信公众号“数据小魔方”。
Mail:578708965@qq.com
备注信息:
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。