一、横向合并
1. id相同,列不同
- on: 用于指定两个DataFrame之间合并的列名。
- how: 这个参数用于指定合并的类型。常见的值有inner, outer, 和 left。
– inner: 只保留两个DataFrame中都有的键值(基于on参数指定的列)。
– outer: 保留两个DataFrame中的所有键值,如果某个键值在其中一个DataFrame中不存在,那么结果中的值将会是NaN。
– left: 保留第一个DataFrame中的所有键值,如果某个键值在第二个DataFrame中不存在,那么结果中的值将会是NaN。
df1 = pd.DataFrame(np.array([['张三', '1', '2'], ['李四', '3', '4'], ['王五', '5', '6']]), columns=['姓名', 'a1', 'b1'])
df2 = pd.DataFrame(np.array([['张三', '11', '22'], ['李四', '33', '44'], ['王五', '55', '66']]), columns=['姓名', 'a2', 'b2'])
df = pd.merge(df1, df2, on='姓名', how='outer')
df1