要是用pandas,你首先得了解它的兩個主要資料結構:series和dataframe,這裡我將簡單介紹一下series
series,python,pandas
>>>
from pandas import series, dataframe
>>>
import pandas as pd
>>>
import numpy as np
>>> x=[1,2,np.nan,7,9]
>>> obj=series(x)
>>> obj
01.0
12.0
2 nan
37.0
49.0
dtype: float64
>>> obj.values
array([ 1., 2., nan, 7., 9.])
>>> obj.index
rangeindex(start=0, stop=5, step=1)
>>> obj2=series(x,index=list('bacde'))
>>> obj2
b 1.0
a 2.0
c nan
d 7.0
e 9.0
dtype: float64
>>> obj2['b']
1.0>>> obj2[list('abc')]
a 2.0
b 1.0
c nan
dtype: float64
>>> obj2[obj2>4]
d 7.0
e 9.0
dtype: float64
>>> obj2*2
#未改變原資料
b 2.0
a 4.0
c nan
d 14.0
e 18.0
dtype: float64
>>> np.exp(obj2)#e^x,並未改變原資料
b 2.718282
a 7.389056
c nan
d 1096.633158
e 8103.083928
dtype: float64
>>>
'd'in obj2
true
>>>
9.0in obj2
false
>>> family=
>>> obj3=series(family)
>>> obj3
aiqin 49
dan 23
hao 21
jun 51
lianying 84
dtype: int64
######
>>> people=['lianying','aiqin','jun','dan','wang']
>>> obj4=series(family,index=people)
>>> obj4
lianying 84.0
aiqin 49.0
jun 51.0
dan 23.0
wang nan#family找不到people裡'wang'對應的值,所以其結果為nan(即『非數字』)
dtype: float64
>>> pd.isnull(obj4)
lianying false
aiqin false
jun false
dan false
wang true
dtype: bool
>>> pd.notnull(obj4)
lianying true
aiqin true
jun true
dan true
wang false
dtype: bool
>>> obj4.index.name='name'
>>> obj4.name='wang family'
>>> obj4
name
lianying 84.0
aiqin 49.0
jun 51.0
dan 23.0
wang nan
name: wang family, dtype: float64
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的資料結構 Series
values 一組資料 index 相關的資料索引標籤由列表或numpy陣列建立 預設索引為0到n 1的整數型索引import pandas as pd import numpy as np from pandas import series,dataframe s1 series 1,2,3,4,...