Python Pandas 數據結構之Series

Pandas 是一個 Python 的包,提供快速、靈活和富有表現力的數據結構,旨在使“關係”或“標記”數據的使用既簡單又直觀。它的目標是成爲用Python進行實際的、真實的數據分析的基礎高級模塊。

對於沒有經驗的新手朋友來說,安裝Pandas以及其餘的NumPy和SciPy等工具包可能會有點困難。

最簡單的方法不是直接安裝Pandas,而是安裝Python和構成SciPy數據科學技術棧的最流行的工具包(IPython,NumPy,Matplotlib,…)的集合Anaconda,它是一個跨平臺(Linux,Mac OS X,Windows)的Python發行版,用於數據分析和科學計算。

本人就是小白,所以直接使用安裝Anaconda的方式了。

Pandas 建立在NumPy之上,旨在與許多其他第三方庫完美地集成在科學計算環境中。
以下是 pandas 做夠勝任的一些事情:

  1. 在浮點和非浮點數據中輕鬆處理缺失數據(表示爲NaN)
  2. 大小可變性:可以從DataFrame和更高維度的對象中插入和刪除
  3. 自動和顯式數據對齊:對象可以明確地與一組標籤對齊,或者用戶可以簡單地忽略標籤,讓Series,DataFrame等在計算中自動對齊數據
  4. 強大,靈活的組(group by)功能,可對數據集執行拆分應用組合操作,用於聚合和轉換數據
  5. 輕鬆將其他Python和NumPy數據結構中的不規則,不同索引數據轉換爲DataFrame對象
  6. 基於智能標籤的切片,花式索引和子集大數據集
  7. 直觀合併和加入數據集
  8. 靈活的重塑和數據集的旋轉
  9. 軸的分層標記(每個刻度可能有多個標籤)
  10. 強大的IO工具,用於從平面文件(CSV和分隔)、Excel文件、數據庫以及能從超快的HDF5格式中保存或加載數據
  11. 特定時間序列功能:日期範圍生成和頻率轉換、移動窗口統計、移動窗口線性迴歸、日期轉換和滯後等

Pandas中主要有Series和DataFrame兩種數據結構。

1 Series 可以看做有標籤(默認是整數序列RangeIndex;可以重複)的一維數組(同類型)。是scalars的集合,同時也是DataFrame的元素。
2 DataFrame 一般是二維標籤,尺寸可變的表格結構,具有潛在的異質型列。

Series
我們可以稱之爲序列,它主要是用來存儲一行或者一列的數據,以及與其相關的索引集合。想必換個不專業的說法大家就很清楚了:一維數組。

語法:

Series([數據…], index=[索引…])

Series的索引是可以省略的,如果我們省略索引,那麼索引號默認從0開始遞增。當然了,我們也可以指定索引名,不限於使用整數,字符串也是可以的。

使用list或者索引來構建Series,看個例子:

在這裏插入圖片描述

在這裏插入圖片描述

使用dict來構建Series,看個例子:

在這裏插入圖片描述

Series數據訪問可以通過以下方式獲取:

1.通過索引訪問元素(索引不能越界)

在這裏插入圖片描述
2.如果使用dict構建的,可以通過鍵值來訪問:
在這裏插入圖片描述

注意:通過dict構建的Series,其實也可通過默認從0開始的索引進行訪問的。

如果不存在的鍵值作爲索引,會報錯:
在這裏插入圖片描述
如果使用索引越界訪問:
在這裏插入圖片描述

這裏是使用dict構建的Series,所以會有兩個錯誤,第一個會提示鍵值錯誤,第二個纔是索引越界。

3.通過切片進行數據訪問(切片的概念在寫python相關的文章有過介紹)
在這裏插入圖片描述

  1. 定位獲取,也就是獲取多個數據,通常用於隨機抽樣

在這裏插入圖片描述

5.通過條件獲取數據
在這裏插入圖片描述

如何向Series數據追加元素呢?我們可以使用append方法來實現。

看個例子:
在這裏插入圖片描述
乍一看好像沒什麼問題啊,運行後才發現又出錯了:
在這裏插入圖片描述

哦,原來問題是出在Series不能追加單個元素,但是能夠追加序列啊。

在這裏插入圖片描述

到這裏,我們的使用姿勢對了,可細心的朋友估計發現了,series_exam1的值怎麼沒有改變呢?

append方法返回的是一個新的序列,我們需要一個變量來接收這個變化,也就是需要對series_exam1進行賦值。

在這裏插入圖片描述

結果沒有問題,series_exam1的值是我們預期的結果,可是索引好像不對啊。。。如果大家介意的話,自己的手動設置下索引了。
在這裏插入圖片描述

刪除元素:

  1. 通過索引刪除,同append方法返回的是一個新的序列

在這裏插入圖片描述

另外一種使用姿勢,我們自定義了索引名稱的時候:
在這裏插入圖片描述
這裏首先通過索引找到對應的索引名稱然後進行刪除。。。看起來好像沒有什麼用處啊,有沒有?

  1. 根據選擇條件進行值刪除(返回新的序列)

在這裏插入圖片描述

另外我們還可以通過sort_index和reindex方法對Series的索引進行排序。

在這裏插入圖片描述

sort_index默認是升序的,此時參數不用填寫,這裏爲了演示而已。
在這裏插入圖片描述

在這裏插入圖片描述

當然了,還有好多知識點了,這裏就先說這些了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章