pandas中資料結構 Series

2021-10-02 13:03:46 字數 3709 閱讀 9851

pandas是乙個開源的,bsd許可的python庫,為python程式語言提供了高效能,易於使用的資料結構和資料分析工具。python與pandas一起使用的領域廣泛,包括學術和商業領域,包括金融,經濟學,統計學,分析等。在本教程中,我們將學習pythonpandas的各種功能以及如何在實踐中使用它們。

安裝

pip install pandas
匯入

import pandas as pd

from pandas import series, dataframe

>>> import pandas as pd

>>> obj=pd.series([4,7,-5,3])

>>> obj

0 4

1 7

2 -5

3 3

dtype: int64

series的字串表現形式為:索引在左邊,值在右邊。由於我們沒有為資料指定索引,於是會自動建立乙個0到n-1(n為資料的長度)的整數型索引。你可以通過series 的values和index屬性獲取其陣列表示形式和索引物件:

>>> import pandas as pd

>>> obj.values

array([ 4, 7, -5, 3], dtype=int64)

>>> obj.index

rangeindex(start=0, stop=4, step=1)

通常,我們希望所建立的series帶有乙個可以對各個資料點進行標記的索引:索引和值是一一對應的關係

>>> obj2=pd.series([4,7,-5,3],index=['d','b','a','c'])

>>> obj2

d 4

b 7

a -5

c 3

dtype: int64

>>> obj2['a']

-5>>> obj2['d']

4>>> obj2['c','a','d']

>>> obj2[['c','a','d']]

c 3

a -5

d 4

dtype: int64

>>> obj2[obj2>0]

d 4

b 7

c 3

dtype: int64

>>> obj2*2

d 8

b 14

a -10

c 6

dtype: int64

>>> import numpy as np

>>> np.exp(obj2)

d 54.598150

b 1096.633158

a 0.006738

c 20.085537

dtype: float64

還可以將series看成是乙個定長的有序字典,因為它是索引值到資料值的乙個對映。它可以用在許多原本需要字典引數的函式中:

>>> 'b' in obj2

true

>>> 'e' in obj2

false

1.傳入乙個字典來建立乙個series

>>> sdata = 

>>> obj3=pd.series(sdata)

>>> obj3

ohio 35000

texas 71000

oregon 16000

utah 5000

dtype: int64

2.傳入新的索引來改變字典的順序

由於新增的california沒有值與它對應,所以表示資料缺失

>>> states = ['california', 'ohio', 'oregon', 'texas']

>>> obj4 = pd.series(sdata, index=states)

>>> obj4

california nan

ohio 35000.0

oregon 16000.0

texas 71000.0

dtype: float64

3.檢測資料的缺失

>>> pd.isnull(obj4)

california true

ohio false

oregon false

texas false

dtype: bool

>>> pd.notnull(obj4)

california false

ohio true

oregon true

texas true

dtype: bool

簡單的說就是對應索引的值相加

>>> obj3

ohio 35000

texas 71000

oregon 16000

utah 5000

dtype: int64

>>> obj4

california nan

ohio 35000.0

oregon 16000.0

texas 71000.0

dtype: float64

>>> obj3+obj4

california nan

ohio 70000.0

oregon 32000.0

texas 142000.0

utah nan

dtype: float64

>>> obj4.name='population'

>>> obj4.index.name='state'

>>> obj4

state

california nan

ohio 35000.0

oregon 16000.0

texas 71000.0

name: population, dtype: float64

>>> obj

0 4

1 7

2 -5

3 3

dtype: int64

>>> obj.index=['bob','steve','jeff','ryan']

>>> obj

bob 4

steve 7

jeff -5

ryan 3

dtype: int64

pandas資料結構

coding utf 8 pandas是numpy的公升級版,功能比numpy更高階 import pandas as pd import numpy as np pandas庫主要定義了兩種資料型別 series dataframe 通過乙個list列表構建乙個series資料 ser obj p...

Pandas資料結構

pandas處理以下三個資料結構 這些資料結構構建在numpy陣列之上,這意味著它們很快。考慮這些資料結構的最好方法是,較高維資料結構是其較低維資料結構的容器。例如,dataframe是series的容器,panel是dataframe的容器。資料結構 維數描述系列1 1d標記均勻陣列,大小不變。資...

pandas中的資料結構 DataFrame

型的資料結構 修改某一行 frame.values 0 d 2 frame name1 pay2 x d 2 y b 6000 z c 9000 修改某一行的值 frame.values 1 1 9000 frame name1 pay2 x d 2 y b 9000 z c 9000 獲取某行資料...