合并多个dataframe_Python之Pandas使⽤系列(四):
Dataframe中。。。
Pandas可以实现⾼性能的内存合并和连接。当我们需要组合⾮常⼤的DataFrame时,Merge是⾮常有效并且快速的⽅法。Merge只能在两
个DataFrame上进⾏联接,分别表⽰为左表(left)和右表(right)。key是将两个DataFrame连接在⼀起的公共列。最好使⽤在整个列中具有
唯⼀值的key,以避免意外的⾏值重复。
Pandas提供了merge(),作为DataFrame之间join的实现。
有四种处理Join的基本⽅法(内部inner,左侧left,右侧right和外部outer),具体取决于需要必须保留哪些
数据。
代码1:使⽤⼀个唯⼀的组合key合并⼀个Datafame
import pandas as pd # ⼈员信息dictdata1 = {'Name':['A1', 'B1', 'C1', 'D1'], 'Age':[27, 24, 22, 32], 'Address':['北京', '上海', '天津', '杭州'], 'Sex':['F', 'M', 'M', 'F']} # 输出
Address Age Name Sex0 北京 27 A1 F1 上海 24 B1 M2 天津 22 C1 M3 杭州 32 D1 F Address Age Name Sex4 上海 17 A2 M5 上海 14 B2 M6 天津 12 C2 F7 南京现在,我们使⽤⼀个key的组合键
# using .merge() functionres = pd.merge(df, df1, on='key')print(res)
输出:
代码2:使⽤多个键merge两个Dataframe。
使⽤"how"关键字合并Dataframe
使⽤"how"参数来指定如何包含哪些key。如果左表或右表中都没有key的组合,则被Join的表中的值为NA。以下是各种选项的说明:left: 只保留左边Dataframe的数据
right: 只保留右边Dataframe的数据
outer: 保留两个Dataframe的数据
inner: 只保留两个Dataframe公共的部分
现在我们设置how = 'left',仅使⽤左⾯Dataframe中的key。
多表left join现在我们设置how = 'right',仅使⽤右⾯Dataframe中的key。
现在我们设置how = 'outer',保留两个表的信息。
现在我们进⾏设置how = 'innter',得到两个表的交集。
使⽤sort参数对返回数据集排序
使⽤suffixes参数定义前缀,区分两个Dataframe中相同的列
总结:
Pandas的merge的⽅法就介绍到这⾥,下节我们介绍透视表(pivotTab)和交叉表(crossTab)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论