DataFrame数据合并
一、join
作用:默认情况下,他是把行索引相同的数据合并到一起
注意:以左为准,没有的部分用NaN补全
例子
import pandas as pd import numpy as np df1 = pd.DataFrame(data=np.zeros((2, 5)), index=list('AB'), columns=list('VWXYZ')) # print(df1) df2 = pd.DataFrame(data=np.ones((3, 4)), index=list('ABC'), columns=list('0123')) # print(df2) df3 = df1.join(df2) print(df3) df4 = df2.join(df1) print(df4)
二、merge
作用:按照指定列把数据按照一定的方式合并到一起
语法
df1.merge(df2, left_on='', right_on='', how='') left_on: df1的列索引 right_on: df2的列索引 how: 合并方式 inner 交集 outer 并集,NaN补全 left 以左为准,NaN补全 right 以右为准,NaN补全
例子
import pandas as pd import numpy as np df1 = pd.DataFrame(data=np.ones((3, 4)), index=list('ABC'), columns=list('MNOP')) df1['O'] = ['a', 'b', 'c'] print(df1) df2 = pd.DataFrame(data=np.zeros((2, 5)), index=list('AB'), columns=list('VWXYZ')) df2['X'] = ['c', 'd'] print(df2) df3 = df1.merge(df2, left_on='O', right_on='X', how='right') print(df3)