pandas資料結構之series操作

2022-05-15 06:33:10 字數 3973 閱讀 3007

概覽:

原來的文件是在乙個地方,那邊的**看起來舒服些  

乙個要銘記在新的基本特點是 資料對齊

要點:索引,軸標籤,生成例項時傳入的資料型別

#*生成:pd.series(data,index)        data是傳入的資料,index是第一列的名稱(即標籤)      (其他不常用的引數忽略)

#ndarray (data的型別)

>>> pd.series(np.random.randn(5))

0 1.617186

1 0.326732

2 -0.230443

3 -0.137932

4 0.474872

dtype: float64

>>> pd.series(np.random.randn(5),index=['a', 'b', 'c', 'd', 'e'])

a 0.048464

b 1.413755

c 0.036489

d 0.533946

e 0.286384

dtype: float64

如果不指定index,標籤預設從0開始

#dict

>>> d = 

>>> pd.series(d)

b 1

a 0

c 2

dtype: int64

index的順序跟字典key的順序一樣.

>>> pd.series(d,index=['b', 'c', 'd', 'a'])

b 1.0

c 2.0

d nan

a 0.0

dtype: float64

在這裡,index順序跟傳入的資料一致.雖然『d』在字典中不存在,但為了保證資料不丟失,便建立起來,其值為空.這可以理解為資料對齊

#scalar (標量)

>>> pd.series(5,index=['a', 'b', 'c', 'd', 'e'])

a 5

b 5

c 5

d 5

e 5

dtype: int64

>>> pd.series('a',index=['b', 'c', 'd', 'a'])

b a

c a

d a

a a

dtype: object

一整列的資料都一樣

#*操作

#ndarray-like

切片,過濾,通過索引取值

>>> se =pd.series(np.random.randn(5),index=['a', 'b', 'c', 'd', 'e'])

>>> se[:3] #slice

a 1.169659

b -1.557760

c 1.199475

dtype: float64

>>> se[se >se.median()] #filter

a 1.169659

c 1.199475

dtype: float64

>>> se[[4,3,1]] #indexing

e -1.113787

d 0.571881

b -1.557760

dtype: float64

#dic-like

索引,in 判斷

>>> se['a']=12 #indexing

>>> 'e' in se

true

#*計算:向量加法,數乘,函式

>>> se+se

a 24.000000

b -3.115519

c 2.398949

d 1.143761

e -2.227573

dtype: float64

>>> se*4

a 48.000000

b -6.231039

c 4.797899

d 2.287523

e -4.455147

dtype: float64

>>> np.exp(se)

a 162754.791419

b 0.210607

c 3.318373

d 1.771596

e 0.328313

dtype: float64

#*其他:序列的命名和重新命名

>>> s=pd.series(np.random.randn(5),name='something')

>>> s

0 -0.010572

1 -0.519850

2 0.649738

3 -0.443780

4 0.402685

name: something, dtype: float64

>>> s2=s.rename('different')

>>> s2

0 -0.010572

1 -0.519850

2 0.649738

3 -0.443780

4 0.402685

name: different, dtype: float64

變成兩個不同的序列

原始碼:

import pandas as pdu

import numpy as npa

n#basic tentet:data aligment/基本的原則:資料對齊m

#point:data types;indexing;axis labeling/alignment]/要點:資料型別,索引,軸標籤和對齊

def series():

#*generate

#ndarray

se=pd.series(np.random.randn(5))

se =pd.series(np.random.randn(5),index=['a', 'b', 'c', 'd', 'e'])

#dict

d =

se=pd.series(d)

se=pd.series(d,index=['b', 'c', 'd', 'a'])

#scalar

se=pd.series(5,index=['a', 'b', 'c', 'd', 'e'])

#*operate

#ndarrat-like

se[:3] #slice

se[se >se.median()] #filter

se[[4,3,1]] #indexing

#dict-like

se['a']=12 #indexing

'e' in se

#compute

se+se

se*2

np.exp(se)

pandas資料結構之Series

series 是一種類似於一維陣列的物件,它由一組資料和一組與之相關的資料標籤 lable 或者說索引 index 組成。現在我們使用series生成乙個最簡單的series物件,因為沒有給series指定索引,所以此時會使用預設索引 從0到n 1 from pandas import series...

Pandas資料結構之Series

import pandas as pd series類 生成series類的方法 1.obj pd.series 4,7,5,3 obj2 pd.series 4,7,5,3 index a b c d print obj2.values,obj2.index print obj2 a print ...

pandas資料結構之Dataframe

綜述 numpy主要用於進行運算 dataframe更切合於業務邏輯 dataframe的常用的屬性 屬性 說明 shape dataframe的形狀 values dataframe的值,numpy.ndarray index 行索引 index.name 行索引的名字 columns 列索引 c...