日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python神器pandas_Python数据处理神器,pandas入门必需理解的核心内容

發(fā)布時(shí)間:2024/9/27 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python神器pandas_Python数据处理神器,pandas入门必需理解的核心内容 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在 Python 中做處理數(shù)據(jù),那么必須要使用 pandas ,否則你根本做不到'人生苦短,我學(xué)Python'。

最近發(fā)生了一件小事情,讓我意識(shí)到許多人沒有系統(tǒng)掌握 pandas 。我的一位同事在使用 pandas 處理一份數(shù)據(jù)時(shí),總是忘記應(yīng)該用 pandas 中的哪些方法做處理,每次都要到網(wǎng)上搜索一遍,而稍微復(fù)雜點(diǎn)的處理完全做不出來。

因此,本文介紹 pandas 的核心概念,每個(gè)概念配上形象的圖表,讓你深刻理解他們。日后你會(huì)發(fā)現(xiàn)這些概念會(huì)幫助你更快學(xué)會(huì)其他知識(shí)。

本文概要:

pandas 3大結(jié)構(gòu):DataFrame、Series、Index(MultiIndex)

在交互式環(huán)境下處理數(shù)據(jù)

就是一個(gè)表格

pandas 是以數(shù)據(jù)表格作為概念而做成的數(shù)據(jù)處理分析包,因此,通過表格形象去理解 pandas 是最適合不過的。

DataFrame

DataFrame 中文叫'數(shù)據(jù)幀',他以表格的形式來裝載數(shù)據(jù)。DataFrame 是處理數(shù)據(jù)的起點(diǎn)。 比如,有如下一份 csv 文件,內(nèi)容如下:

我們通過 pandas 把 csv 文件的數(shù)據(jù)加載為 DataFrame 。

import pandas as pd ,為了方便使用,一般習(xí)慣導(dǎo)入的時(shí)候,把 pandas 命名為 pd

pd.read_csv('data.csv') , 從 csv 加載數(shù)據(jù)到 DataFrame。其中有許多 pd.read_xxx 的方法,用于其他方式讀取數(shù)據(jù)。

我們來看看 DataFrame 是什么樣子的。

中間的區(qū)域叫 values ,因此我們可以通過 df.values 獲取這個(gè)值區(qū)域的數(shù)組。

平常處理數(shù)據(jù)的過程中,一般不需要把這個(gè)值區(qū)域讀取出來使用。下面會(huì)看到如何批量獲取一列或一行數(shù)據(jù)。

Series

Series 叫'系列',上圖從 DataFrame 輸出可以看到其就是一個(gè)表格形式。以此類推,那么 Series 就是表格中的一列。

如圖,這個(gè) DataFrame 有3列,也就是有3個(gè) Series 。

每個(gè) Series 都有一些信息,比如,名字、值。

那怎么獲取一列的數(shù)據(jù)?

通過 DataFrame['列名字'] 即可訪問指定列 。本文重點(diǎn)是說明 pandas 的結(jié)構(gòu),而非代碼實(shí)現(xiàn)。下一章會(huì)詳細(xì)說明怎樣高效靈活選擇數(shù)據(jù)。

Index

Index 中文叫'索引',許多人都對(duì) DataFrame 和 Series 很熟悉,但卻忽視了 Index。這是許多復(fù)雜處理的基礎(chǔ)。

細(xì)心的讀者可能會(huì)注意到,在之前我們看到的 DataFrame 輸出時(shí),最左邊竟然多出一列,csv 數(shù)據(jù)中根本沒有這一列數(shù)據(jù)。 如下:

這多出來的一列就是 Index 。

由于我們是直接從 csv 中加載數(shù)據(jù)進(jìn)來,而沒有指定任何的列作為 Index ,因此 pandas 會(huì)默認(rèn)生成從0開始的一段數(shù)值作為 Index 。

那么 Index 有啥作用? 之前在說道 Series 的時(shí)候,我們已經(jīng)知道通過列名,可以讓你方便獲取一列數(shù)據(jù)。 同樣地,Index 是為了讓你方便獲取一行數(shù)據(jù)。 如下:

df.loc[1,:] , 表示從 DataFrame 中獲取行索引值是1的那一行數(shù)據(jù)。

不要以為只有行索引噢,其實(shí)我們之前通過列名字獲取一列數(shù)據(jù),同樣是通過 Index 得到的。

看一下怎么通過行列索引定位一個(gè)數(shù)據(jù):

通過 loc[行索引 , 列索引] ,即可定位一個(gè)數(shù)據(jù)重點(diǎn):由于行和列索引都是 Index,因此我們只需要學(xué)會(huì)行索引的操作方式,那么同時(shí)就學(xué)會(huì)了列索引的操作方式。

可以設(shè)置指定的列作為索引:

通過 .set_index('名稱') ,讓'名稱'列作為 Index 。

df.loc['西瓜',:] 現(xiàn)在可以通過正常的索引訪問行數(shù)據(jù)

交互式環(huán)境

如果你用過 jupyter notebook ,那么相信你已經(jīng)非常熟悉交互式環(huán)境。下面我演示如何在 vs code 中使用 jupyter 那種單元格式的交互環(huán)境。這功能需要啟動(dòng) jupyter server,因此強(qiáng)烈建議你直接安裝 Anaconda 環(huán)境。直接去官方網(wǎng)站下載 exe ,安裝完成馬上就有完整的 Python 環(huán)境。

使用 #%% ,用于劃分每個(gè)單元格(cell)

我們可以單獨(dú)運(yùn)行任何一個(gè) cell 里面的代碼。

期間產(chǎn)生的變量都會(huì)一直保留。

在此環(huán)境下,你可以快速試驗(yàn)各種代碼,因?yàn)?python 進(jìn)程一直運(yùn)行著,你會(huì)發(fā)現(xiàn)這種方式比起一次次啟動(dòng) python 要快得多。如果你喜歡用 PyCharm ,那么這功能目前必需在專業(yè)版才可以使用。

總結(jié)

以上是生活随笔為你收集整理的python神器pandas_Python数据处理神器,pandas入门必需理解的核心内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。