您的位置 首页 > 数码极客

〔merge函数〕python merge函数?

上一节讲到R数据清洗内容,主要包括缺失值处理、特殊字符处理、大小写转换、数据格式转化、重复值处理、数值替换,本节在R数据清洗的内容上继续学习R数据预处理,内容包括数据合并(横向合并、纵向合并),自定义排序等内容,下面一起学习。

示例工具:R x64 3.5.3、RStudio

本文讲解内容:数据预处理

适用范围:数据合并、自定义排序



1 数据合并

数据合并这里主要有三种方法进行合并,包括数据表的纵向合并、横向合并以及增加新字段的方法,将多个小表合并为一个大表。

1.1 纵向合并

纵向合并的意思就是在数据表的后面追加新的行记录,比如在EXCEL中使用复制粘贴功能往下增加新的行记录,在R中使用rbind()函数来纵向合并,这里首先构建一个data数据表,数据表内容如下。

#手动创建数据表data data<-da(ID=c("c001","c002","c003","c004","c005","c006","c007","c008","c009","c010"), NAME=c("Rmesh","Khilan","Kaushik","Chaitali","Hardik","Komal","Tom","Muffy","Susan","Kevin"), AGE=c(23,20,23,25,27,24,26,31,26,30), ADDRESS=c("Ahmed","Delhi","Kota","Mumbai","Bhopal","MP-A","MP-B","Indore","JP-No.1","JP-No.2"), SAL=c(2000,1500,2000,5000,8500,6500,5500,9500,7000,9000))

然后构建一个data1数据表,数据表如下。

#手动创建数据表data1 data1<-da(ID=c("c011","c012"), NAME=c("Ami","Dave"), AGE=c(30,28), ADDRESS=c("Ahmed","Delhi"), SAL=c(8500,8000))

使用rbind函数,将data和data1两个数据表纵向合并起来。

#合并数据表 data<-rbind(data,data1)

1.2 横向合并

横向合并类似于EXCEL中的VLOOKUP函数的用法,在R中使用merge()函数进行横向合并,创建一个新的数据表data2,包含ID、GENDER和LEVEL三个字段。

#手动创建数据表data2 data2<-da(ID=c("c001","c002","c003","c004","c005","c006","c007","c008","c009","c010"), GENDER=c("female","female","male","female","female","male","male","male","female","male"), LEVEL=c("Bachelor","Bachelor","Bachelor","Bachelor","Master","Master","Bachelor","Doctorate","Master","Doctorate"))

使用merge函数将data和data2两个数据表横向合并,合并的方式为inner,该方法将两个数据表中共有的数据匹配到一起生成新的数据表,这里共有的字段是ID。

#数据表合并 inner模式 data<-merge(data,data2,by='ID')

除了inner方式以外,合并的方式还有left、right和outer方式。

#数据表合并 left模式 data<-merge(data,data2,all.x=TRUE,by='ID')

数据表合并后,可以重置数据表的索引,默认状态下索引是从1开始向下排列。

这里使用rownames()函数,将ID这一列设置为索引列。

#设置索引列 rownames(data)=data$ID

1.3 增加新字段

增加新字段也可以实现表的合并,要增加新字段可以将现有的字段进行合并,或者通过现有字段进行计算后生成新字段,字段合并首先用paste()函数将两个字段合并为一个字段,然后使用cbind()函数合并到数据表。

#合并两个字段的内容 ID_NAME<-paste(data$ID,data$NAME) data=cbind(data,ID_NAME)

另一种方法是对数据表中的字段进行计算,产生新的字段,首先计算SAL的平均值,保留两位小数,结果如下。

#计算新字段并合并 AVG_SAL=round(mean(data$SAL),digits = 2)

然后,使用cbind函数将计算字段合并到表。

#计算新字段并合并 data=cbind(data,AVG_SAL)

2 自定义排序

2.1 降序排列

在R中使用order函数进行排序,这里对SAL列进行排序,当decreasing为TRUE时表示降序排序。

2.2 升序排列

若省略decreasing参数,默认为正序排序。

#对数据表按SAL列进行排序(正序) data[order(data$SAL),]

2.3 自定义排列

也可以同时对数据表中的多列进行排序,这里对SAL和AGE两列降序排列。

#对多列进行排序 data[order(data$SAL,data$AGE,decreasing = TRUE),]

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“merge函数,python,merge函数,merge函数用法,merge函数用法python”边界阅读