概覽:
原來的文件是在乙個地方,那邊的**看起來舒服些乙個要銘記在新的基本特點是 資料對齊
要點:索引,軸標籤,生成例項時傳入的資料型別
#*生成: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...