pandas初探 Series生成與索引

2021-10-03 19:18:30 字數 3556 閱讀 6914

series是一種一維的陣列型物件,它包括乙個值序列,和它們的索引。

直觀的來說,它更像乙個字典。因為它的形式為索引:值

生成series一般有兩種方法,通過列表和通過字典

1.列表生成series

import pandas as pd

from pandas import series, dataframe

obj = pd.series([1

,2,4

])print

(obj)

# 0 1

# 1 2

# 2 4

# dtype: int64

當沒有為資料指定索引時,預設索引為0到n-1(n是資料的長度)。

可以通過index屬性,來指定索引

import pandas as pd

from pandas import series, dataframe

obj = pd.series([1

,2,4

], index=

['d'

,'b'

,'a'])

print

(obj)

# d 1

# b 2

# a 4

# dtype: int64

2.字典生成series

可以使用字典來生成乙個series。

此時索引為字典的鍵,值為對應的鍵值

import pandas as pd

from pandas import series, dataframe

dic =

obj = pd.series(dic)

print

(obj)

# shanghai 1000

# wuhan 2000

# beijing 3000

# dtype: int64

可以使用字典風格的方法對series中的索引和資料值進行判斷

import pandas as pd

from pandas import series, dataframe

dic =

obj = pd.series(dic)

print

(5000

in obj.values)

# false

print

('shanghai'

in obj)

# true

選擇資料時可以用標籤位置進行索引

import pandas as pd

from pandas import series, dataframe

dic =

obj = pd.series(dic)

print

(obj[

'shanghai'])

# 4000

print

(obj[0]

)# 4000

傳入乙個標籤列表,返回乙個按列表內元素順序排列的seires

import pandas as pd

from pandas import series, dataframe

dic =

obj = pd.series(dic)

print

(obj[

['beijing'

,'shanghai']]

)# beijing 3000

# shanghai 4000

# dtype: int64

當然,也可以用切片。但這時,用標籤切片和位置切片的結果有點區別

import pandas as pd

from pandas import series, dataframe

dic =

obj = pd.series(dic)

print

(obj[

'shanghai'

:'beijing'])

# 標籤切片時包括:右邊的元素

# shanghai 4000

# wuhan 2000

# beijing 3000

# dtype: int64

print

(obj[0:

2])# 位置切片時不包括:右邊的元素

# shanghai 4000

# wuhan 2000

# dtype: int64

series的數學操作與numpy相似,都是逐元素操作

不過seires在操作中將儲存索引值連線。

import numpy as np

import pandas as pd

from pandas import series, dataframe

obj = pd.series([1

,2,3

,4])

print

(obj *2)

# 0 2

# 1 4

# 2 6

# 3 8

# dtype: int64

print

(np.exp(obj)

)# 0 2.718282

# 1 7.389056

# 2 20.085537

# 3 54.598150

# dtype: float64

另外,當合併兩個seires時,索引會自動對齊:

import pandas as pd

from pandas import series, dataframe

obj = pd.series([1

,2,3

,4], index=

['a'

,'b'

,'c'

,'d'])

obj2 = pd.series([2

,3,4

,5,6

], index=

['b'

,'c'

,'a'

,'d'

,'f'])

print

(obj+obj2)

# a 5.0

# b 4.0

# c 6.0

# d 9.0

# f nan

在obj中,鍵』a』對應的值為1.

在obj2中,鍵』a』對應的值為4.因此,計算結果為5(這既是對齊的含義)

又因為鍵』f』未出現在obj中,因此計算結果中』f』對應的值為nan

《利用python進行資料分析》

pandas 入門之Series學習

pandas 入門學習 series 使用方法 import pandas as pd from pandas import series,dataframe import numpy as npseries 是一種類似於一維陣列的物件,它是由一組資料 各種numpy資料 以及一組與之相關的索引組成...

pandas中的Series物件

series和dataframe是pandas中最常用的兩個物件 1。可以用numpy的陣列處理函式直接對series物件進行處理 2。支援使用位置訪問元素,使用索引標籤作為下標訪問元素 每個series物件實際上都是由兩個陣列組成 1 index 從ndarray陣列繼承的index索引物件,儲存...

pandas學習 一 Series物件

ser ies對 象的建立 colorseries物件的建立 series 物件的創 建 s er ies類 型是注重 索引和值 的一種類 型series型別是注重索引和值的一種型別 series 型別是注 重索引和 值的一種 型別使 用s erie s來建立 乙個基本 seri es型別 使用se...