資料分析工具 Pandas 功能介紹

2021-08-29 03:58:51 字數 2387 閱讀 8317

原文:

如果你在使用 pandas(pythondata analysis library) 的話,下面介紹的對你一定會有幫助的。

首先我們先介紹一些簡單的概念

分批載入

有時我們可能需要載入的 csv 太大,可能會導致記憶體爆掉,這時候,我們就需要分批載入資料進行分析、處理

df.head(n):瀏覽資料的前 n 行,預設 5 行

df.tail(n):瀏覽資料的末尾 n 行,預設 5 行

df.sample(n):隨機瀏覽 n 行資料,預設 5 行

df.shape:tuple 型別的資料行列數,(行數,列數)

df.describe():計算評估資料的趨勢

記憶體和資料型別

在 dataframe 中新增新列的操作很簡單,下面介紹幾種方式

簡單方式

計算方式

條件方式

迴圈方式

類似於 excel 單元格的選擇,pandas 提供了這樣的功能,操作很簡單,但是我本人理解起來確實沒有操作看上去那麼簡單。pandas 提供了三個方法做類似的操作,loc,iloc,ix,ix 官方已經不建議使用,所以我們下面介紹 loc 和 iloc

loc 根據標籤選取loc

iloc 根據索引選取

選取行資料

注意:索引開始位置:閉區間

索引結束位置:開區間

loc 和 iloc 選取整列資料的時候,看上去與 df[列名陣列] 的方式一致,但是其實前者返回的仍然是 dataframe,後者返回的是 series

我們需要看第一季度的資料是怎樣的,就需要使用條件過濾

體感的舒適適濕度是40-70,我們試著過濾出體感舒適濕度的資料

最後整合上面兩種條件,在一季度體感濕度比較舒適的資料

資料按照某列進行排序

「by」引數可以使用字串,也可以是列表,ascending 的引數也可以是單個值或者列表

ascending 預設值是 true

我們通過 describe 方法檢視的統計資訊中均值和方差都是按照列統計呢,這裡要說的,既可以按照列,還可以按照行

均值,行 df.mean(axis=0),列df.mean(axis=1)

方差,行 df.std(axis=0),列df.std(axis=1)

連線合併

在兩個 df 的結果一致的情況下,我們可以簡單兩個 df 拼接起來

垂直(行)拼接,pd.concat([df1,df2],axis=0),水平(列)拼接,pd.concat([df1,df2],axis=1)

基於索引關鍵字合併

pandas 還提供了像 sql 一樣的連線,內聯,外聯,左聯,右聯

作為我們的示例資料,可以唯一標識一行的就是 datatime 列

merged_df = df_1.merge(df_2, how='left', on='datetime')

每行有多少 nan,df.isnull().sum()

dataframe 中 nan 的總數,上面統計出來的數量求和,df.isnull().sum().sum()

分組在資料統計的時候經常使用。特別是統計數量、計算和、求平均值,等等。

我們在這裡統計一下每個季度的假期數是多少

在統計一下,每個季度的平均分風速是多少

通過這兩次的分享,我們已經了解了 pandas 資料處理常用的方式方法。

資料分析工具 Pandas 功能介紹(二)

我們需要看第一季度的資料是怎樣的,就需要使用條件過濾 體感的舒適適濕度是40 70,我們試著過濾出體感舒適濕度的資料 最後整合上面兩種條件,在一季度體感濕度比較舒適的資料 資料按照某列進行排序 by 引數可以使用字串,也可以是列表,ascending 的引數也可以是單個值或者列表 ascending...

資料分析工具pandas

14 分組運算 原因 聚合運算改變了原始資料的shape 如何保持原始資料的shape?使用merge的外連線,比較複雜 transform transform的計算結果和原始資料的shape保持一致 如 grouped.transform mp.mean 也可傳入自定義函式 1.資料清洗時資料分析...

Python資料分析入門(三) Pandas介紹

那麼問題來了 numpy已經能夠幫助我們處理資料,能夠結合matplotlib解決我們資料分析的問題,那麼pandas學習的目的在什麼地方呢?numpy能夠幫我們處理處理數值型資料,但是這還不夠,很多時候,我們的資料除了數值之外,還有字串,還有時間序列等 比如 我們通過爬蟲獲取到了儲存在資料庫中的資...