这篇文章将为大家详细讲解有关熊猫如何实现数据的合并与拼接,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
熊猫包的合并,加入,concat方法可以完成数据的合并和拼接,合并方法主要基于两个dataframe的共同列进行合,并加入方法主要基于两个dataframe的索引进行合并,concat方法是对系列或dataframe进行行拼接或列拼接。
1。合并方法
熊猫的合并方法是基于共同列,将两个dataframe连接起来.merge方法的主要参数:
- <李>
左/右:左/右位置的dataframe。
李> <李>如何:数据合并的方式.left:基于左dataframe列的数据合并;右:基于右dataframe列的数据合并;外:基于列的数据外合并(取并集);内在:基于列的数据内合并(取交集);默认为& # 39;内部# 39;。
李> <李>:用来合并的列名,这个参数需要保证两个dataframe有相同的列名。
李> <李>left_on/right_on:左/右dataframe合并的列名,也可为索引,数组和列表。
李> <李>left_index/right_index:是否以指数作为数据合并的列名,真表示是。
李> <李>:根据dataframe合并排的键序,默认是。
李> <李>后缀:若有相同列且该列没有作为合并的列,可通过后缀设置该列的后缀名,一般为元组和列表类型。
李>合并通过设置有参数选择两个dataframe的连接方式,有内连接,外连接,左连接,右连接,下面通过例子介绍连接的含义。
1.1内连接
=& # 39;如何内部# 39;,dataframe的链接方式为内连接,我们可以理解基于共同列的交集进行连接,参数上设置连接的共有列名。
#,单列的内连接 #,定义df1 import pandas  as pd import numpy  as np df1 =, pd.DataFrame({& # 39;α# 39;:[& # 39;一个# 39;& # 39;b # 39;, & # 39; b # 39;, & # 39; c # 39;, & # 39; d # 39;, & # 39; e # 39;], & # 39; feature1& # 39;: [1, 1, 2, 3, 3, 1], ,,,,,,,,,,,& # 39;feature2& # 39;:[& # 39;低# 39;& # 39;中等# 39;,& # 39;中等# 39;,& # 39;高# 39;,& # 39;低# 39;,& # 39;高# 39;]}) #,定义df2 df2 =, pd.DataFrame({& # 39;α# 39;:[& # 39;一个# 39;& # 39;一个# 39;,& # 39;b # 39;, & # 39; f # 39;], & # 39; pazham& # 39;:[& # 39;苹果# 39;& # 39;橙色# 39;,& # 39;松# 39;,& # 39;梨# 39;], ,,,,,,,,,,,& # 39;公斤# 39;:[& # 39;高# 39;& # 39;低# 39;,& # 39;高# 39;,& # 39;中等# 39;],& # 39;价格# 39;:np.array ([5、6、5、7])}) #,打印(df1) #,打印(df2) #,基于共同列α的内连接 时间=df3 pd.merge (df1, df2=& # 39;内部# 39;,在=& # 39;α# 39;) df3
取共同列α值的交集进行连接。
1.2外连接
=& # 39;如何外# 39;,dataframe的链接方式为外连接,我们可以理解基于共同列的并集进行连接,参数上设置连接的共有列名。
#,单列的外连接 #,定义df1 df1 =, pd.DataFrame({& # 39;α# 39;:[& # 39;一个# 39;& # 39;b # 39;, & # 39; b # 39;, & # 39; c # 39;, & # 39; d # 39;, & # 39; e # 39;], & # 39; feature1& # 39;: [1, 1, 2, 3, 3, 1], ,,,,,,,,,,,,,,,& # 39;feature2& # 39;:[& # 39;低# 39;& # 39;中等# 39;,& # 39;中等# 39;,& # 39;高# 39;,& # 39;低# 39;,& # 39;高# 39;]}) #,定义df2 df2 =, pd.DataFrame({& # 39;α# 39;:[& # 39;一个# 39;& # 39;一个# 39;,& # 39;b # 39;, & # 39; f # 39;], & # 39; pazham& # 39;:[& # 39;苹果# 39;& # 39;橙色# 39;,& # 39;松# 39;,& # 39;梨# 39;], ,,,,,,,,,,,,,,,,,,,,,,,& # 39;公斤# 39;:[& # 39;高# 39;& # 39;低# 39;,& # 39;高# 39;,& # 39;中等# 39;],& # 39;价格# 39;:np.array ([5、6、5、7])}) #,基于共同列α的内连接 时间=df4 pd.merge (df1, df2=& # 39;外# 39;,在=& # 39;α# 39;) df4
若两个dataframe间除了上设置的连接列外并无相同列,则该列的值置为NaN。
1.3左连接
=& # 39;如何左# 39;,dataframe的链接方式为左连接,我们可以理解基于左边位置dataframe的列进行连接,参数上设置连接的共有列名。
#,单列的左连接 #,定义df1 df1 =, pd.DataFrame({& # 39;α# 39;:[& # 39;一个# 39;& # 39;b # 39;, & # 39; b # 39;, & # 39; c # 39;, & # 39; d # 39;, & # 39; e # 39;], & # 39; feature1& # 39;: [1, 1, 2, 3, 3, 1], ,,,& # 39;feature2& # 39;:[& # 39;低# 39;& # 39;中等# 39;,& # 39;中等# 39;,& # 39;高# 39;,& # 39;低# 39;,& # 39;高# 39;]}) #,定义df2 df2 =, pd.DataFrame({& # 39;α# 39;:[& # 39;一个# 39;& # 39;一个# 39;,& # 39;b # 39;, & # 39; f # 39;], & # 39; pazham& # 39;:[& # 39;苹果# 39;& # 39;橙色# 39;,& # 39;松# 39;,& # 39;梨# 39;], ,,,,,,,,,,,,,,,,,,,,,,,& # 39;公斤# 39;:[& # 39;高# 39;& # 39;低# 39;,& # 39;高# 39;,& # 39;中等# 39;],& # 39;价格# 39;:np.array ([5、6、5、7])}) #,基于共同列α的左连接 时间=df5 pd.merge (df1, df2=& # 39;左# 39;,在=& # 39;α# 39;) df5熊猫如何实现数据的合并与拼接