pandas是乙個python的yuyi語言軟體包,在我們使用python語音進行機器學習程式設計的時候,這是乙個非常常用的基礎程式設計庫。本文是對它的乙個入門教程。
pandas提供了快速,靈活和富有表現力的資料結構,目的是使「關係」或「標記」資料的工作既簡單又直觀。它旨在成為在python中進行實際資料分析的高階構建塊。
pandas適合於許多不同型別的資料,包括:
由於這是乙個python語言的軟體包,因此需要你的機器上首先需要具備python語言的環境。關於這一點,請自行在網路上搜尋獲取方法。
關於如何獲取pandas請參閱官網上的說明:pandas installation。
通常情況下,我們可以通過pip
來執行安裝:
sudo pip3 install pandas
或者通過conda 來安裝pandas:
conda install pandas
我已經將本文的原始碼和測試資料放到github上: pandas_tutorial ,讀者可以前往獲取。
另外,pandas常常和numpy一起使用,本文中的原始碼中也會用到numpy。
建議讀者先對numpy有一定的熟悉再來學習pandas,我之前也寫過乙個numpy的基礎教程,參見這裡:python 機器學習庫 numpy 教程
pandas最核心的就是series
和dataframe
兩個資料結構。
這兩種型別的資料結構對比如下:
dataframe可以看做是series的容器,即:乙個dataframe中可以包含若干個series。
注:在0.20.0版本之前,還有乙個三維的資料結構,名稱為panel。這也是pandas庫取名的原因:pan(el)-da(ta)-s。但這種資料結構由於很少被使用到,因此已經被廢棄了。由於series是一維結構的資料,我們可以直接通過陣列來建立這種資料,像這樣:
這段**輸出如下:
# data_structure.py
import pandas as pd
import numpy as np
series1 = pd.series([1, 2, 3, 4])
print("series1:\n{}\n".format(series1))
這段**輸出如下:
series1:
0 1
1 2
2 3
3 4
dtype: int64
這段輸出說明如下:
我們可以分別列印出series中的資料和索引:
# data_structure.py
print("series1.values: {}\n".format(series1.values))
print("series1.index: {}\n".format(series1.index))
這兩行**如下;
series1.values: [1 2 3 4]
series1.index: rangeindex(start=0, stop=4, step=1)
如果不指定(像上面這樣),索引是[1, n-1]的形式。不過我們也可以在建立series的時候指定索引。索引未必一定需要是整數,可以是任何型別的資料,例如字串。例如我們以七個字母來對映七個音符。索引的目的是可以通過它來獲取對應的資料,例如下面這樣: python資料處理庫 numpy
之前在寫python的資料處理庫的安裝教程時寫過一點介紹。但是不是很詳細,最近在整理複習,所以寫篇部落格整理下。numpy是python科學計算的基礎包,它提供 快速高效的多維陣列物件ndarray 直接對陣列執行數 算及對陣列執行元素級計算的函式 線性代數運算 隨機數生成 將c c fortran...
Python 資料處理
將檔案切分,存入列表 strip split with open james.txt as jaf data jaf.readline james data.strip split 資料檔案為 2 34,3 21,2.34,2.45,3.01,2 01,2 01,3 10,2 22 print ja...
Python 資料處理
本場 chat 為 python 資料處理課程,包括 python 基礎知識 極簡教程 提公升 python 執行效率的方法 爬蟲簡介 scrapy selenium 自動化測試框架 簡易分布式 redis 分詞程式設計 jieba 資料儲存 本地資料上傳 hive 通過本場 chat 讀者可學到以...