Python三方庫 Pandas(資料分析)

2022-06-18 19:42:11 字數 2665 閱讀 4894

pandas是乙個基於numpy的資料分析包,這個庫就是為資料分析而生的,你可以像操作excel一樣操作pandas,實現資料的選擇排序、篩選過濾、統計分析等功能,實際上,pandas就是python中的excel,在學習pandas之後你會更加深刻的理解這句話是多麼的形象準確的。

為了簡化表示,本文示例中的pd表示pandas庫,即import pandas as pd。

一、基礎資料結構dataframe和series

pandas中最基礎的資料結構就是dataframe和series,從陣列的角度理解,可以將dataframe看作是二維陣列,將series看作是一維陣列,當然,最直觀的理解就是dataframe是乙個excel**,由行索引、列名和資料(二維陣列)組成,而series是則表中的一列資料,只有行索引和資料(一維陣列)兩部分。

1. 建立dataframe和series

乙個dataframe可以看作是由行索引、列名及資料(二維陣列)三部分構成,對於行索引,在pandas中的處理是比較特殊的,比如有n行資料,預設情況下,行索引會是我們熟悉的從0到n-1的索引號,但是我們也可以自己指定每一行的行索引,或者說是行標籤,通過行標籤同樣也能取到對應行的資料。當然,列名如果沒有指定,同樣是0到n-1的序號。

通過列表建立dataframe:

通過字典建立dataframe:

通過檔案建立dataframe:

csv檔案資料

**示例

通過列表建立series:

2. 檢視dataframe和series

dataframe和series物件有許多快速檢視自身資訊的屬性和方法,因為series的許多屬性和方法與dataframe都是相似的,所以這裡就只列一些dataframe中比較常用的:

簡單示例:

二、索引操作

這裡說的索引指的是行索引或者說行標籤,pandas中關於行索引有許多巧妙且實用的用法,能幫助我們更好的進行資料分析,具體見示例**。

對於索引的使用,即可以像numpy中那樣去操作pandas中的索引,也可以使用iloc()方法和loc()方法去操作索引,區別在於iloc()方法只能用於原始的0到n-1索引,而loc()方法可以將自己指定的行標籤像索引一樣去操作,具體見示例**。

三、常用方法

因為pandas的核心是numpy庫,所以numpy中的一些特色用法在pandas中也是可以使用的,比如通過算術運算子實現對每個元素的加減乘除等操作,以及使用max、mean等統計方法在pandas中也都是支援的。

以下列舉一些dataframe和series的常用操作和方法(具體的引數使用請參考對應的幫助文件或官方api文件),為了簡化表示,df代表dataframe物件,s代表series物件,具體使用效果見示例**。

四、sql功能

pandas中有一些方法能實現像sql一樣的功能,如groupby方法可以實現sql中的分組功能,merge方法可以實現sql中的表連線功能,具體見示例**。

五、透視表

所謂透視表,就是使用pivot()方法或pivot_table()方法從原本的**中抽取三列內容並將其轉換為另乙個**,以便更直觀、更方便地去觀察和分析這三列資料,具體效果看了示例就明白了。

六、時間處理

pandas中有一套自己的時間字串處理方法,而且使用起來也很方便,如pd.timestamp()可以將字串轉換為時間戳,pd.timedelta()可以進行時間的加減運算,pd.to_datetime()可以將字串轉換為日期。如果遇到了時間格式字串,建議優先考慮pandas自帶的時間處理方式。

python第三方庫pandas庫常用操作命令大全

網上的有個別不對 實際敲了一下 有補充了點常用的 環境ide anaconda python3.7 在這個速查手冊中,我們使用如下縮寫 df 任意的pandas dataframe物件 s 任意的pandas series物件 同時我們需要做如下的引入 import pandas as pd imp...

PyThon第三方庫

本文 自 戀花蝶的部落格 今天公司停電,沒上班。跑上來更新個部落格,跟大家分享一下我常用的幾個第三方 python 庫。python 語言之所以能夠如此流行,除了本身內建許多程式庫來保障快速開發之外,目不睱接的第三方庫也是一大主因。結合我目前的工作 網遊開發 我常用的幾個第三方庫如下 wxpytho...

python 第三方庫

requests 模組 具體詳見 requests 是用python語言編寫的第三方庫,基於 urllib,採用 apache2 licensed 開源協議的 http 庫。它比 urllib 更加方便,完全滿足 http 測試需求,多用於介面測試 常用介面 1.requests.request m...