pandas合併資料集(merge使用)

2021-10-04 02:11:10 字數 2283 閱讀 9185

merge: 合併資料集, 通過left, right確定連線字段,預設是兩個資料集相同的字段

引數 說明

left #參與合併的左側dataframe

right #參與合併的右側dataframe

how #連線方式:『inner』(預設);還有,『outer』、『left』、『right』

on #用於連線的列名,必須同時存在於左右兩個dataframe物件中,如果位指定,則以left和right列名的交集作為連線鍵

left_on #左側datafarme中用作連線鍵的列

right_on #右側datafarme中用作連線鍵的列

left_index #將左側的行索引用作其連線鍵

right_index #將右側的行索引用作其連線鍵

sort

#根據連線鍵對合併後的資料進行排序,預設為true。有時在處理大資料集時,禁用該選項可獲得更好的效能

suffixes #字串值元組,用於追加到重疊列名的末尾,預設為(『_x』,『_y』).例如,左右兩個dataframe物件都有『data』,則結果中就會出現『data_x』,『data_y』

copy #設定為false,可以在某些特殊情況下避免將資料複製到結果資料結構中。預設總是賦值

merge預設按相同字段合併,且取兩個都有的。

import pandas as pd

df1=pd.dataframe(

)df2=pd.dataframe(

)pd.merge(df1,df2)

age name score

0 25 kate 70

1 28 herz 60

2 35 sally 90

當左右連線欄位不相同時,使用left_on,right_on

pd.merge(df1,df2,left_on=

"name",right_on=

'call_name'

)age name call_name score

0 25 kate kate 70

1 28 herz herz 60

2 35 sally sally 90

合併後,刪除重複的列

pd.merge(df1,df2,left_on=

'name',right_on=

'call_name'

).drop(

'name',axis=1)

age call_name score

0 25 kate 70

1 28 herz 60

2 35 sally 90

引數how的使用

1)預設:inner 內連線,取交集

pd.merge(df1,df2,on=

'name',how=

'inner'

)age name score

0 25 kate 70

1 28 herz 60

2 35 sally 90

2)outer 外連線,取並集,並用nan填充

df3=pd.dataframe(

)pd.merge(df1,df3,on=

'name',how=

'outer'

)age name score

0 25 kate 70

1 28 herz 60

2 39 catherine nan

3 35 sally 90

4 nan cristin 30

3)left 左連線, 左側取全部,右側取部分

pd.merge(df1,df3,on=

'name',how=

'left'

)age name score

0 25 kate 70

1 28 herz 60

2 39 catherine nan

3 35 sally 90

4)right 右連線,左側取部分,右側取全部

pd.merge(df1,df3,on=

'name',how=

'right'

)age name score

0 25 kate 70

1 28 herz 60

2 35 sally 90

3 nan cristin 30

Pandas 合併資料集

在資料探勘過程中,經常會有不同 的資料需要進行合併操作。今天介紹通過python下的pandas庫下的merge方法和concat方法來實現資料集的合併。merge 函式通過乙個或多個鍵來將資料集的行連線起來。該函式的主要 應用場景是針對同乙個主鍵存在兩張包含不同特徵的表,通過該主鍵的連線,將兩張表...

Pandas 按索引合併資料集

import numpy as np import pandas as pd from pandas import series,dataframeleft1 dataframe set index 水果 right1 dataframe print left1 print right1 數量 水果...

Pandas高階 合併資料集concat

本文主要介紹pandas中常用的資料合併的方法concat。先定義乙個生產資料的函式 乙個簡單的dataframe def make df cols,ind data return pd.dataframe data,ind 看下函式效果 in make df ab 1,2 out a b1 a1 ...