Python 數(shù)據(jù)分析:初識(shí) Pandas
Python作為一個(gè)腳本語(yǔ)言,其廣泛的擴(kuò)展包生態(tài),使得我們可以利用Python完成幾乎所有的數(shù)據(jù)分析。也就是說(shuō),在我們辦公場(chǎng)景下,幾乎可以勝任所有的日常工作。利用Python辦公主要是用擴(kuò)展包完成,其中最著名的當(dāng)屬Pandas,它也是數(shù)據(jù)分析三劍客之一。
1. Pandas是什么?
首先,我們來(lái)認(rèn)識(shí)一下Pandas。它是一個(gè)開源、BSD許可的庫(kù),為Python編程語(yǔ)言提供高性能、易于使用的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具。
通常我們使用Pandas完成如下工作:
- 格式化數(shù)據(jù)的讀取、處理與存儲(chǔ);
- 數(shù)據(jù)清洗,如空值、異常值的處理;
- 數(shù)據(jù)處理分析,支持?jǐn)?shù)據(jù)的增刪改查操作、數(shù)據(jù)描述、相關(guān)性分析等;
- 跨表處理,支持多張表的組合、連接和堆疊等操作;
- 繪圖,自帶繪圖功能,可以完成散點(diǎn)圖、線圖、柱狀圖等繪圖;
2. 安裝Pandas環(huán)境
安裝pandas非常簡(jiǎn)單,只需要在命令提示符窗口執(zhí)行pip install pandas命令即可。
C:\Users\william>pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
Lookingin indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collectingpandas
Downloadinghttps://pypi.tuna.tsinghua.edu.cn/packages/ab/63/966db1321a0ad55df1d1fe51505d2cdae191b84c907974873817b0a6e849/pandas-2.2.2-cp311-cp311-win_amd64.whl (11.6 MB)
----------------------------------------11.6/11.6 MB 16.4 MB/s eta 0:00:00
Successfully installed pandas-2.2.2
這里加了-i參數(shù),意思是指定包源,也就是從哪個(gè)服務(wù)器上搜索并下載,主要是為了提高下載速度,畢竟默認(rèn)是指向國(guó)外的服務(wù)器的,速度較慢。
常用的國(guó)內(nèi)源:
- 清華大學(xué):https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:https://mirrors.aliyun.com/pypi/simple
- 中國(guó)科學(xué)技術(shù)大學(xué):https://pypi.mirrors.ustc.edu.cn/simple
3. 第一次使用
第一次使用Pandas需要在使用前導(dǎo)入包,一般我們會(huì)起個(gè)別名pd,如下:
import pandas as pd
這里給pandas的包起的別名pd,將會(huì)在本系列教程中默認(rèn)使用,后面直接使用pd.methodname()實(shí)現(xiàn)對(duì)于方法的調(diào)用。
下面先來(lái)看看Series數(shù)據(jù)的生成,以及描述統(tǒng)計(jì)信息查看。
# 利用range()函數(shù)創(chuàng)建元素和索引
>>> s = pd.Series(range(5),index=['r0','r1','r2','r3','r4'])
>>>s # 可以觀測(cè)到S是一個(gè)類似字典的結(jié)構(gòu),由索引和值構(gòu)成。
r0 0
r1 1
r2 2
r3 3
r4 4
dtype: int64
# 查看統(tǒng)計(jì)描述信息
>>>s.describe()
count 5.000000
mean 2.000000
std 1.581139
min 0.000000
25% 1.000000
50% 2.000000
75% 3.000000
max 4.000000
dtype: float64
下面再來(lái)看看DataFrame數(shù)據(jù)的生成,以及描述統(tǒng)計(jì)信息查看。
# 先利用numpy創(chuàng)建一個(gè)二維數(shù)組
>>> import numpy as np
>>> array0 = np.arange(12).reshape(3,4)
>>> array0
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
# 創(chuàng)建DataFrame格式數(shù)據(jù),并分別設(shè)置行列索引
>>> df0 = pd.DataFrame(array,
... columns=['a','b','c','d'],
... index=['r0','r1','r3'])
>>> df0
a b c d
r0 0123
r1 4567
r3 891011
# 查看統(tǒng)計(jì)描述信息
>>> df0.describe()
a b c d
count 3.03.03.03.0
mean 4.05.06.07.0
std 4.04.04.04.0
min 0.01.02.03.0
25% 2.03.04.05.0
50% 4.05.06.07.0
75% 6.07.08.09.0
max 8.09.010.011.0
4. 小結(jié)
本節(jié)我們了解了Pandas擴(kuò)展包的安裝、導(dǎo)入,以及創(chuàng)建Series、DataFrame格式數(shù)據(jù)(后面會(huì)詳細(xì)講這兩種格式)。并使用describe()方法查看各列的統(tǒng)計(jì)描述信息,它可以幫我們觀察每數(shù)據(jù)的聚集、離散程度。