Python 回忆录
2020/11/08
合并方法 :join(相同行索引)
join:默认情况下是把行索引相同的数据合并在一起
先建立两个DataFrame
df1 和 df2 虽然形状不同,列索引不同 但是有相同的行索引(ABC)然后使用join方法
以df1为基础的话,df1 有几行 就是几行数据
以df2为基础的话,df2有几行就是几行 对于df1没有的值用NaN填充
合并方法: merge(相同列索引)
merge : 按照指定的列 把数据按照一定的方式合并在一起
默认合并方式 inner 并集 (也就是内连接并集)
1.先建立两个DataFramedf1 和 df3 行索引不同,列索引数量也不同,相同的是都有a 那一列
2.我们以df1为基础使用merge语句,on 里面的参数是以哪个列来并集结果看出来因为df3 和df1 a那列都带有1这个数字 所以两个的内连接就是带有1这个数字的一行。再把带有1数字的那一行合并
3.我们改变一下df1 里[“A”,“a”]的值 再用merge语句,看一看结果首先找到两个数组”a“列的交集,为数字1. 那么就是把df1带有数字1的那一行 和df3带有数字1的那一行合并。所以最后的结果只有一行。
外连接
就是全部合并起来,没有的位置用NaN代替
左连接
以左边的数组为基础,左边的有多少行 最后结果就是多少行
右连接
以右边的数组为基础,右边有多少行 最后结果就是多少行。没有的用NaN填充
没有相同的列索引时
图中两个数组都没有相同的列索引
我们只需要给left_on()里面赋予左边数组的列索引 和 给right_on()里面赋予右边数组的列索引 就可以让两个列进行merge方法了