数据分析--数据合并
數(shù)據(jù)合并
在日常的數(shù)據(jù)處理中,經(jīng)常需要將兩張表拼接起來(lái)使用,在SQL中對(duì)應(yīng)的操作是join,在Pandas中則是merge函數(shù)實(shí)現(xiàn)。
merge函數(shù)的作用是用來(lái)拼接兩張表,那么拼接時(shí)自然就需要將用戶信息--對(duì)應(yīng)地進(jìn)行拼接,所以進(jìn)行拼接的兩張表需要有一個(gè)共同的識(shí)別用戶的鍵。總結(jié)來(lái)說(shuō),整個(gè)merge的過程就是將信息--對(duì)應(yīng)匹配的過程。
數(shù)據(jù)拼接的時(shí)候有四種方式: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方式
內(nèi)連接,它在拼接的過程中會(huì)取兩張表的鍵的交集進(jìn)行拼接。
當(dāng)兩張表進(jìn)行拼接的時(shí)候,如果存在一對(duì)多的記錄時(shí),會(huì)根據(jù)對(duì)應(yīng)記錄,多的記錄進(jìn)行擴(kuò)展。
left和right
left和right的merge方式其實(shí)是類似的,分別被稱為左連接和右連接。
merge時(shí),以左邊表格的鍵為基準(zhǔn)進(jìn)行配對(duì),如果左邊表格中的鍵在右邊不存在,則用缺失值NaN填充。
merge時(shí),以右邊表格的鍵為基準(zhǔn)進(jìn)行配對(duì),如果右邊表格中的鍵在左邊不存在,則用缺失值NaN填充。
outer
outer是外連接,在拼接的過程中它會(huì)取兩張表的鍵的并集進(jìn)行拼接。
?
?
總結(jié)
以上是生活随笔為你收集整理的数据分析--数据合并的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java wgs84转西安80_如何将西
- 下一篇: 三层网络渗透测试实验