一文搞定pandas的数据合并
作者:來源于讀者投稿
出品:Python數據之道
一文搞定pandas的數據合并
在實際處理數據業務需求中,我們經常會遇到這樣的需求:將多個表連接起來再進行數據的處理和分析,類似SQL中的連接查詢功能。
pandas中也提供了幾種方法來實現這個功能,表現最突出、使用最為廣泛的方法是merge。本文中將下面????四種方法及參數通過實際案例來進行具體講解。
merge
append
join
concat
為方便大家練習,文末提供了本文源代碼的獲取方式。
文章目錄
導入庫
做數據分析的時候這兩個庫是必須導入的,國際慣例一般。
import pandas as pd import numpy as np—??01?—
merge
官方參數
官方提供的?merge函數的參數如下:
下面將通過案例講解幾個重要參數的使用方法:
DataFrame.merge(left, right, how='inner', # {‘left’, ‘right’, ‘outer’, ‘inner’}, default ‘inner’on=None, left_on=None, right_on=None, sort=False, suffixes=('_x', '_y'))模擬數據
注意4組數據的不同
使用默認參數
兩種不同的寫法,效果相同
參數how
how參數的取值有4種:
inner(默認)
outer
right
left
參數on
用于連接的列索引列名,必須同時存在于左右的兩個dataframe型數據中,類似SQL中兩個表的相同字段屬性
如果沒有指定或者其他參數也沒有指定,則以兩個dataframe型數據的相同鍵作為連接鍵
on參數為單個字段
另一個例子:
on參數為多個字段-列表形式
參數lefton/righton
參數suffixes
合并的時候一列兩個表同名,但是取值不同,如果都想要保存下來,就使用加后綴的方法,默認是?_x,_y,可以自己指定
參數sort
對連接的時候相同鍵的取值進行排序
—??02?—
concat
官方參數
concat方法是將兩個?DataFrame數據框中的數據進行合并
通過axis參數指定是在行還是列方向上合并
參數?ignore_index實現合并后的索引重排
生成數據
指定合并軸
改變索引
join參數
sort-屬性排序
—??03?—
append
官方參數
基本使用
data3.append(data4) # 等同于pd.append([data3, data4]) 忽略pandas版本的警告改變索引-自然數排序
data3.append(data4, ignore_index=True) # 設置參數sort=True-屬性的排序
data3.append(data4) # 默認對字段屬性排序—??04?—
join
官方參數
通過相同索引合并
相同字段屬性指后綴
相同字段變成索引index
相同字段保留一次
為方便大家練習,可以在公號「Python數據之道」后臺回復? “20200917” 獲取本文的源代碼文件。
---------End---------
關注后回復“w”,加我私人微信
“分享”和“在看”是更好的支持!
總結
以上是生活随笔為你收集整理的一文搞定pandas的数据合并的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thinkphp5 使用ElasticS
- 下一篇: Golang图片码+压缩伪装+远程调用组