数据合并
在日常的数据处理中,经常需要将两张表拼接起来使用,在SQL中对应的操作是join,在Pandas中则是merge函数实现。
merge函数的作用是用来拼接两张表,那么拼接时自然就需要将用户信息--对应地进行拼接,所以进行拼接的两张表需要有一个共同的识别用户的键。总结来说,整个merge的过程就是将信息--对应匹配的过程。
数据拼接的时候有四种方式:inner,left,right和outer
代码
import pandas as pd
import numpy as np
df_1 = pd.DataFrame({'userid':['a','b','c','d'],'age':[23,46,32,19]})
df_2 = pd.DataFrame({'userid':['a','c','a','b','e'],'payment':[2000,3500,500,1000,900]})
print(df_1)
print(df_2)
df_1_2_inner = df_1.merge(df_2,how='inner',on='userid')
df_1_2_left = df_1.merge(df_2,how='left',on='userid')
df_1_2_right = df_1.merge(df_2,how='right',on='userid')
df_1_2_outer = df_1.merge(df_2,how='outer',on='userid')
print(df_1_2_outer)
inner方式
内连接,它在拼接的过程中会取两张表的键的交集进行拼接。
当两张表进行拼接的时候,如果存在一对多的记录时,会根据对应记录,多的记录进行扩展。
left和right
left和right的merge方式其实是类似的,分别被称为左连接和右连接。
merge时,以左边表格的键为基准进行配对,如果左边表格中的键在右边不存在,则用缺失值NaN填充。
merge时,以右边表格的键为基准进行配对,如果右边表格中的键在左边不存在,则用缺失值NaN填充。
outer
outer是外连接,在拼接的过程中它会取两张表的键的并集进行拼接。