iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0

今天接著介紹 pandas 如何表對資料表合併、資料匯總等等進階用法!

資料表合併

inner join

假設有X表和Y表,我們想要取兩邊都有的資料,就會用到 inner join。
下圖代表僅會留下白色交集的資料。

這邊的 id 代表兩張表都有的 key 值

pd.merge(X, Y, on='id', how='inner')

left join

以 X 表為母體表,代表 X 表的資訊都不能遺漏;將 Y 表當作額外的資訊參考,就會用到 left join
下圖會留下紅色圈圈的資料。

pd.merge(X, Y, on='id', how='left')

如果左右鍵值不一樣的話可以改成

pd.merge(X, Y, left_on='id1', right_on='id2', how='left')

資料匯總

統計資料

描述性統計

df.describe()

相關係數

df.corr()

groupby

以 Survived 為基底,對於所有欄位做計算

df.groupby('Survived').count()


以兩種以上的欄位為基底,對其他的欄位做計算

df.groupby(['Survived','Sex']).count()


計算也可以使用多種方法

df.groupby(['Survived']).aggregate(['min', 'max', 'mean', 'median'])

pivot table

類似 excel 的資料樞紐,更多請參考文件

pd.pivot_table(df, index=['Survived'], aggfunc=['mean', 'median'])

私心推薦

以上的招式非常多,初學者也很難在短時間內就上手起來。因此這裡推薦可以使用一個神人套件 pandas_profile

安裝方式

pip install pandas-profiling

使用方式

profile = ProfileReport(df, title="Pandas Profiling Report")
profile
# Saving the report
profile.to_file("report.html")

接著在 notebook 就會出現可以互動式的結果,可以快速瀏覽這份資料集的概況,是資料分析工具的一大利器。

資料匯出

df.to_excel('filename.xlsx')
df.to_csv('filename.csv')

上一篇
Day 05 : 資料處理 Pandas (1)
下一篇
Day 07 : 資料視覺化 Matplotlib
系列文
Python資料分析學習地圖30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言