Python學習筆記(6):列表

寫在前面

Hello,大家好,我是可樂。

這是Python數據分析系列的第5篇文章,今天要說的是數據結構中的序列(Series),Series是由一組數據和一組行索引構成的一維數組,可以理解爲Excel裏沒有列名的一列數據。

要使用Series,就要導入pandas模塊。

import pandas as pd

1. 建

新建一個Series,用pd.Series,可以從列表中創建

# 從列表中新建一個序列
In [1]:S1 = pd.Series([2,4,6,8])
       S1
Out[1]:0 2
       1 4
       2 6
       3 8
       dtype:int63

輸出的第一列[0,1,2,3]是這個序列S1的索引,第二列[2,4,6,8]是S1的值,與列表最主觀的不同是,列表是橫向排列,序列時縱向排列的。

同時可以看到,在不指定索引的情況下,默認索引從0開始遞增,當然也可指定索引,如下例, 給S2序列指定了從1開始遞增的索引,用index給它賦值。

In [2]:S2 = pd.Series(["a","b","d","e"],index = [1,2,3,4])
       S2
Out[2]:1 a
       2 b
       3 d
       4 e
       dtype:object

還可以從字典中創建,這時鍵就是該序列的索引。

In [3]:S3 = pd.Series({"Tom":101,"Tony":102,"Judy":103})
       S3
Out[3]:Tom  101
       Tony 102
       Judy 103
       dtype:int64

2. 增

在序列中新增數據,實際上是創建一個新的序列,然後將兩個序列縱向合併。如在S2的基礎上,把S1追加過去,用append方法,這樣就間接實現了往S2序列中增加數據。

In [4]:S2.append(S1)
Out[4]:1 a
       2 b
       3 d
       4 e
       0 2
       1 4
       2 6
       3 8
       dtype:object

又或者,只想在S2序列中增加一個“f”的值,還是這樣。

In [5]:S_f = pd.Series(["f"],index = [5])
       S2.append(S_f)
Out[5]:1 a
       2 b
       3 d
       4 e
       5 f
       dtype:object

3. 刪

刪除序列中的值,用drop方法按照索引刪除,如要刪除a這個值,drop裏填寫a對應的索引1,注意不是0,因爲這不是默認索引,是我們設置了的從1開始遞增的索引。

In [6]:# 刪除
       S2.drop([1])
Out[6]:2 b
       3 d
       4 e
       5 f
       dtype:object

上面的例子是刪除一個值,也可以刪除多個值

In [7]:# 刪除
       S2.drop([1,3])
Out[7]:2 b
       4 e
       5 f
       dtype:object

4. 查

查找某個值是否在序列中

同樣用in操作符,這裏就不多說了,要說一下另一個方法,isin,返回的是布爾值。

In [8]:# 查找
       S2.isin([a,f])
Out[8]:2 FALSE
       4 FALSE
       5 TRUE
       dtype:bool

查找S2序列中是否包含“a”和"f"的值,索引5是f,所以返回TRUE,其他都返回FALSE。

查找序列中指定位置的值

通過索引的訪問,查找指定位置的值。

In [9]:# 索引
       S4 = pd.Series(["c","o","l","a"],index = ["一","二","三","四"])
       S4["三"]
Out[9]:l

這裏新建了一個S4序列,索引是自定義的["一","二","三","四"],通過查找索引“三”,得到對應的值“l”。

切片,訪問多個位置,訪問前三(包括第三)的數據。

In [10]:# 切片
       S4[:3]
Out[10]:一 c
        二 o
        三 l
        dtype:object

5.改

對值的修改和其他數據結構一樣,根據索引查找,然後賦值,如把S4序列的c改成d:

In [11]:# 修改
       S4["一"] = "d"
       S4
Out[11]:一 d
        二 o
        三 l
        四 a
        dtype:object

 


@ 作者:可樂,進階的數據分析師
@ 公衆號/知乎專欄/頭條/簡書:可樂的數據分析之路
@ 歡迎加作者微信(data_cola)交流探討

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