當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Pandas Series構造函數用法及代碼示例


Pandas Series(~) 構造函數初始化一個新的 Series

參數

1.data | array-likeiterabledictscalar

用於初始化係列的數據。

2. index | 1D array-likeindex | optional

用於係列的索引。索引不必是唯一的,即允許["a","b","a"]

3. dtype | stringnumpy.dtypeExtensionDtype | optional

係列的數據類型。默認情況下,數據類型是從 data 推斷的。

4. name | string | optional

分配給係列的名稱。

5. copy | boolean | optional

  • 如果 True ,則將返回一個新係列。修改這個係列不會改變原來的data,反之亦然。

  • 如果 False ,則返回的 Series 使用 data 占用的同一塊內存。這意味著修改係列會改變原始的data,反之亦然。

copy=False 僅當 data 是 Numpy 數組或其他 Series 時才生效。默認情況下,copy=True

返回值

Series 對象。

例子

使用數組

要使用數組初始化係列:

s = pd.Series([3,4,5])
s



0   3
1   4
2   5
dtype: int64

由於我們沒有指定 index ,因此使用默認整數索引 ( [0,1,2] )。

使用字典

要使用Map初始化係列:

my_data = {"A":3, "B":4, "C":5}
s = pd.Series(my_data)
s



A   3
B   4
C   5
dtype: int64

在這裏,請注意字典的鍵如何成為係列的索引。

指定索引

要設置Series的索引,請傳入index參數:

s = pd.Series([3,4,5], index=["A","B","C"])
s



A    3
B    4
C    5
dtype: int64

指定數據類型

要在係列上強製執行數據類型:

s = pd.Series(["3","4","5"], dtype="int")
s



0   3
1   4
2   5
dtype: int64

指定名稱

要為係列分配名稱,請傳入 name 參數:

s = pd.Series([3,4,5], name="my_series")
s



0   3
1   4
2   5
Name: my_series, dtype: int64

指定副本

默認情況下, copy=True ,這意味著為構建的 Series 分配一個新的內存塊。因此,修改該係列不會改變原始data,反之亦然。

我們可以初始化一個使用 data 占用的相同內存塊的 Series,而不是創建 data 的新副本:

s1 = pd.Series([3,4])
s2 = pd.Series(s1, copy=False)
s2



0    3
1    4
dtype: int64

在這裏,我們正在初始化係列 s1 中的係列 s2 。關鍵是這些係列的數據共享相同的內存塊,這意味著修改一個係列會改變另一個:

s1[0] = 9
s2



0    9
1    4
dtype: int64

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas | Series constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。