【Python數據科學手冊】Pandas——二、Pandas對象簡介

二、Pandas對象簡介

1.Pandas的Series對象

Pandas 的 Series 對象是一個帶索引數據構成的一維數組。
(注意Series中S大寫)
在這裏插入圖片描述
Series 對象將一組數據和一組索引綁定在一起
在這裏插入圖片描述
和 NumPy 數組一樣,數據可以通過 Python 的中括號索引標籤獲取
在這裏插入圖片描述
Pandas 的 Series 對象比它模仿的一維 NumPy 數組更加通用、靈活。

1).Serise是通用的NumPy數組

NumPy 數組通過隱式定義的整數索引獲取數值,而 Pandas 的Series 對象用一種顯式定義的索引與數值關聯。顯式索引的定義讓 Series 對象擁有了更強的能力。

pd.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
  • 自定義索引
    在這裏插入圖片描述
    在這裏插入圖片描述

2). Series是特殊的字典

Series 對象其實是一種將類型鍵映射到一組類型值的數據結構。類型至關重要,使得它在某些操作上比Python 的字典更高效。
在這裏插入圖片描述
索引默認按照順序排列。典型的字典數值獲取方式仍然有效。
在這裏插入圖片描述

3). 創建Series對象

pd.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)

data : array-like, dict, or scalar value
Contains data stored in Series

index 是一個可選參數, data 參數支持多種數據類型。
上述可知,data可以是列表、numpy數組、字典來創建Series對象。data本身是一個Series對象也沒問題。
另外,data還可以是標量,創建 Series 對象時會重複填充到每個索引上
在這裏插入圖片描述
每一種形式都可以通過顯式指定索引篩選需要的結果。
在這裏插入圖片描述

2.Pandas的DataFrame對象

和Series 對象一樣, DataFrame既可以作爲一個通用型 NumPy 數組,也可以看作特殊的 Python 字典。
(注意DataFrame中D和F大寫)

1). DataFrame是通用的NumPy數組

DataFrame 可以看作是一種既有靈活的行索引,又有靈活列名的二維數組。可以把 DataFrame 看成是有序排列的若干 Series 對象。

pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

在這裏插入圖片描述
取索引名和列名
在這裏插入圖片描述

2). DataFrame是特殊的字典

字典是一個鍵映射一個值,而 DataFrame 是一列映射一個 Series 的數據。
在這裏插入圖片描述
切片取值見下一節。

3).創建DataFrame對象

pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

data : numpy ndarray (structured or homogeneous), dict, or DataFrame
Dict can contain Series, arrays, constants, or list-like objects

可見創建DataFrame的方法有很多種

  1. 單個Series
    在這裏插入圖片描述

  2. 字典列表
    在這裏插入圖片描述

  3. Series對象字典
    上文中的DataFrame對象states就是用Series 對象字典un_dict構造的

  4. NumPy 二維數組
    在這裏插入圖片描述

  5. NumPy 結構化數組
    在這裏插入圖片描述

  6. 其他列表樣式對象
    在這裏插入圖片描述

3. Pandas的Index對象

Series 和 DataFrame 對象都使用便於引用和調整的顯式索引。可以將Index 對象看作是一個不可變數組或有序集合(實際上是一個多集,因爲 Index 對象可能會包含重複值)。
(注意Index中I大寫)
在這裏插入圖片描述

1).將Index看作不可變數組

可以通過標準 Python 的取值方法獲取數值,也可以通過切片獲取數值
在這裏插入圖片描述
與 NumPy 數組相似的屬性,但 Index 對象的索引是不可變的,Index 對象的不可變特徵使得多個 DataFrame 和數組之間進行索引共享時更加安全
在這裏插入圖片描述

2).將Index看作有序集合

Index 對象遵循 Python 標準庫的集合(set)數據結構的許多習慣用法,包括並集、交集、差集等
在這裏插入圖片描述

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