merge
pandas的merge方法提供了一種類似於SQL的內存鏈接操作,官網文檔提到它的性能會比其他開源語言的數據操作(例如R)要高效。
merge的參數
on:列名,join用來對齊的那一列的名字,用到這個參數的時候一定要保證左表和右表用來對齊的那一列都有相同的列名。
how:數據融合的方法。
實際案例,從各省爬取到的葯品數據從全國中標葯品數據庫中匹配出國家准字號。
result = pd.merge(df1,df2,how="left",on=["drugName","specification","manufacturerName"]) result = result.dropna(how="any")
1.1 復合key的合並方法
使用merge的時候可以選擇多個key作為復合可以來對齊合並。
1.1.1 通過on指定數據合並對齊的列
result = pd.merge(left, right, on=['key1', 'key2'])
沒有指定how的話默認使用inner方法。
how的方法有:
left
只保留左表的所有數據
result = pd.merge(left, right, how='left', on=['key1', 'key2'])
right
只保留右表的所有數據
result = pd.merge(left, right, how='right', on=['key1', 'key2'])
outer
保留兩個表的所有信息
result = pd.merge(left, right, how='outer', on=['key1', 'key2'])
inner
只保留兩個表中公共部分的信息
result = pd.merge(left, right, how='inner', on=['key1', 'key2'])