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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python pandas教程百家号_Pandas 常见的基本方法

發(fā)布時間:2024/9/27 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python pandas教程百家号_Pandas 常见的基本方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

說明:文章所有內(nèi)容均截選自實驗樓教程【Pandas 使用教程】,想要查看教程完整內(nèi)容,點擊教程即可~

前言:

Pandas 是非常著名的開源數(shù)據(jù)處理工具,我們可以通過它對數(shù)據(jù)集進行快速讀取、轉(zhuǎn)換、過濾、分析等一系列操作。除此之外,Pandas 擁有強大的缺失數(shù)據(jù)處理與數(shù)據(jù)透視功能,可謂是數(shù)據(jù)預(yù)處理中的必備利器。文章帶你學會 Pandas 中的一些常用的基本方法。

知識點:

數(shù)據(jù)讀取與存儲

Head & Tail

統(tǒng)計方法

計算方法

標簽對齊

排序

數(shù)據(jù)文件:

學習本課程之前,請先打開在線環(huán)境終端,下載本文可能會用到的兩個數(shù)據(jù)文件。

wget http://labfile.oss.aliyuncs.com/courses/906/los_census.csv

wget http://labfile.oss.aliyuncs.com/courses/906/los_census.txt

兩個文件均為為洛杉磯人口普查數(shù)據(jù),僅格式有區(qū)別。

下面的內(nèi)容均在 iPython 交互式終端中演示,你可以通過在線環(huán)境左下角的應(yīng)用程序菜單 > 附件打開。如果你在本地進行練習,推薦使用 Jupyter Notebook 環(huán)境。

Pandas 常見的基本方法

1 數(shù)據(jù)讀取與存儲

Pandas 支持大部分常見數(shù)據(jù)文件讀取與存儲。一般清楚下,讀取文件的方法以 pd.read_ 開頭,而寫入文件的方法以 pd.to_ 開頭。詳細的表格如下。

拿剛剛下載好的數(shù)據(jù)文件舉例,如果沒有下載,請看文章開頭的數(shù)據(jù)文件的獲取方法。

import pandas as pd

df = pd.read_csv("los_census.csv") #讀取 csv 文件

print df

可以看到,文件已經(jīng)讀取出來了。由于列數(shù)太多,所以分段顯示了。輸出的最下方會有一個行數(shù)和列數(shù)的統(tǒng)計。這里是 319 行 X 7 列。

我們可以發(fā)現(xiàn),由 pandas 讀取的文件就已經(jīng)是 DataFrame 結(jié)構(gòu)了。上面演示了 csv 文件的讀取,其余格式的文件也很相似。

不過,很多時候我們拿到手的數(shù)據(jù)是像 los_census.txt 文件樣式的數(shù)據(jù),如下圖所示。

import pandas as pd

df = pd.read_table("los_census.txt") #讀取 txt 文件

print df

其實 los_census.txt 也就是 los_census.csv 文件,因為 csv 文件又叫逗號分隔符文件,數(shù)據(jù)之間采用逗號分割。

那么,我們怎樣將這種文件轉(zhuǎn)換為 DataFrame 結(jié)構(gòu)的數(shù)據(jù)呢?這里就要使用到讀取方法中提供的一些參數(shù)了,例如 sep[] 分隔符參數(shù)。

import pandas as pd

df = pd.read_table("los_census.txt", sep=',') #讀取 txt 文件

print df

除了 sep,讀取文件時常用的參數(shù)還有:

header=,用來選擇將第幾行作為列索引名稱。

names=[],自定義列索引名稱。

例如:

import pandas as pd

df = pd.read_csv("los_census.csv", header=1 ) #將第二行作為列索引名稱。

print df

import pandas as pd

df = pd.read_csv("los_census.csv", names=['A', 'B', 'C', 'D', 'E', 'F', 'G']) #自定義列索引名稱。

print df

好了,說了這么久的讀取文件,再說一說存儲文件。存儲文件的方法也很簡單。比如我們將 los_census.csv 文件,存儲為 json 格式的文件。

import pandas as pd

df = pd.read_csv("los_census.csv") #讀取 csv 文件

df.to_json("1.json") # 將其存儲為 json 格式文件

當然,你也可以通過 to_excel("1.xlsx") 儲存為 Excel 默認支持的 .xlsx 格式。只是,需要注意在線環(huán)境會報錯。這時候需要再補充安裝 openpyxl 包就好了:

sudo pip install openpyxl

2 Head & Tail

有些時候,我們讀取的文件很大。如果全部輸出預(yù)覽這些文件,既不美觀,又很耗時。還好,Pandas 提供了 head() 和 tail() 方法,它可以幫助我們只預(yù)覽一小塊數(shù)據(jù)。

顧名思義,head() 方法就是從數(shù)據(jù)集開頭預(yù)覽,不帶參數(shù)默認顯示頭部的 5 條數(shù)據(jù),你也可以自定義顯示條數(shù)。

import pandas as pd

df = pd.read_csv("los_census.csv") #讀取 csv 文件

print df.head() # 默認顯示前 5 條

print df.head(7) # 顯示前 7 條

tail() 方法就是從數(shù)據(jù)集尾部開始顯示了,同樣默認 5 條,可自定義。

import pandas as pd

df = pd.read_csv("los_census.csv") #讀取 csv 文件

print df.tail() # 默認顯示后 5 條

print df.tail(7) # 顯示后 7 條

3 統(tǒng)計方法

Pandas 提供了幾個統(tǒng)計和描述性方法,方便你從宏觀的角度去了解數(shù)據(jù)集。

1). describe()

describe() 相當于對數(shù)據(jù)集進行概覽,會輸出該數(shù)據(jù)集的計數(shù)、最大值、最小值等。

import pandas as pd

df = pd.read_csv("los_census.csv") #讀取 csv 文件

print df.describe()

例如上面,針對一個 DataFrame 會對每一列的數(shù)據(jù)單獨統(tǒng)計。

2). idxmin() & idxmax()

idxmin() 和 idxmax() 會計算最小、最大值對應(yīng)的索引標簽。

import pandas as pd

df = pd.read_csv("los_census.csv") #讀取 csv 文件

print df.idxmin()

print df.idxmax()

3). count()

count() 用于統(tǒng)計非空數(shù)據(jù)的數(shù)量。

import pandas as pd

df = pd.read_csv("los_census.csv") #讀取 csv 文件

print df.count()

4).value_counts()

value_counts() 僅僅針對 Series,它會計算每一個值對應(yīng)的數(shù)量統(tǒng)計。

import pandas as pd

import numpy as np

s = pd.Series(np.random.randint(0, 9, size=100)) # 生成一個 Series,并在 0-9 之間生成 100 個隨機值。

print s

print s.value_counts()

4 計算方法

除了統(tǒng)計類的方法,Pandas 還提供了很多計算類的方法。

1). sum()

sum() 用于計算數(shù)值數(shù)據(jù)的總和。

import pandas as pd

df = pd.read_csv("los_census.csv") #讀取 csv 文件

print df.sum()

2). mean()

mean() 用于計算數(shù)值數(shù)據(jù)的平均值。

import pandas as pd

df = pd.read_csv("los_census.csv") #讀取 csv 文件

print df.mean()

3). median()

median() 用于計算數(shù)值數(shù)據(jù)的算術(shù)中值。

import pandas as pd

df = pd.read_csv("los_census.csv") #讀取 csv 文件

print df.median()

除此之外,剩下的一些常見計算方法如下表所示。

5 標簽對齊

索引標簽是 Pandas 中非常重要的特性,有些時候,由于數(shù)據(jù)的缺失等各種因素導(dǎo)致標簽錯位的現(xiàn)象,或者想匹配新的標簽。于是 Pandas 提供了索引標簽對齊的方法 reindex()。

reindex() 主要有三個作用:

重新排序現(xiàn)有數(shù)據(jù)以匹配新的一組標簽。

在沒有標簽對應(yīng)數(shù)據(jù)的位置插入缺失值(NaN)標記。

特殊情形下,使用邏輯填充缺少標簽的數(shù)據(jù)(與時間序列數(shù)據(jù)高度相關(guān))。

import pandas as pd

s = pd.Series(data=[1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])

print s

print s.reindex(['e', 'b', 'f', 'd'])

我們可以看到,重新排列的數(shù)據(jù)中,原有索引對應(yīng)的數(shù)據(jù)能自動匹配,而新索引缺失的數(shù)據(jù)通過 NaN 補全。

當然,對于 DataFrame 類型的數(shù)據(jù)也是一樣的。

import pandas as pd

df = pd.DataFrame(data={'one': [1, 2, 3], 'two': [4, 5, 6], 'three': [7, 8, 9]}, index=['a', 'b', 'c'])

print df

print df.reindex(index=['b', 'c', 'a'], columns=['three', 'two', 'one'])

你甚至還可以將上面 Series 的數(shù)據(jù)按照下面的 DataFrame 的索引序列對齊。

print s.reindex(df.index)

6 排序

既然是數(shù)據(jù)處理,就少不了排序這一常用的操作。在 Pandas 中,排序擁有很多「姿勢」,下面就一起來看一看。

1). 按索引排序

首先是按照索引排序,其方法為Series.sort_index()或者是DataFrame.sort_index()。

import pandas as pd

df = pd.DataFrame(data={'one': [1, 2, 3], 'two': [4, 5, 6], 'three': [7, 8, 9], 'four': [10, 11, 12]}, index=['a', 'c', 'b'])

print df

下面按索引對行重新排序:

print df.sort_index()

或者添加參數(shù),進行倒序排列:

print df.sort_index(ascending=False)

2). 按數(shù)值排序

第二種是按照數(shù)值排序,其方法為Series.sort_values()或者是DataFrame.sort_values()。舉個例子:

import pandas as pd

df = pd.DataFrame(data={'one': [1, 2, 3, 7], 'two': [4, 5, 6, 9], 'three': [7, 8, 9, 2], 'four': [10, 11, 12, 5]}, index=['a', 'c', 'b','d'])

print df

將第三列按照從小到大排序:

print df.sort_values(by='three')

也可以同時按照兩列:

print df[['one', 'two', 'three', 'four']].sort_values(by=['one','two'])

最后

文章帶你熟悉了 Pandas 中一些基本方法,這些方法是針對數(shù)據(jù)集操作過程中經(jīng)常遇到的。當然,由于不可能面面俱到,這里面提到的方法也只是冰山一角。在數(shù)據(jù)分析實踐中,還需要多多依據(jù)需求查閱官方文檔。

教程【Pandas 使用教程】總共5節(jié),文章截選的是第2節(jié)內(nèi)容,教程列表如下:

Pandas 安裝與數(shù)據(jù)結(jié)構(gòu)

Pandas 常用的基本方法

Pandas 數(shù)據(jù)選擇與過濾

Pandas 進行缺失值處理

Pandas 時間序列分析

如果你還想學習機器學習其他教程,點擊這里即可~

你可以可以點擊【機器學習】學習路徑,照著路徑學習機器學習~

總結(jié)

以上是生活随笔為你收集整理的python pandas教程百家号_Pandas 常见的基本方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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