pandas 資料處理

2021-08-11 11:57:19 字數 2476 閱讀 1137

pandas中資料可以分為series,dataframe,panel分別表示一維至三維資料。

其中在構造時,index表示行名,columns表示列名

構造方式 

s=

pd.series

(data

,index

=index

)

s=pd

.series(np

.random

.randn(5

),index=[

'a',

'b',

'c',

'd',

'e'])

或者以字典的形式

in [7]: d=

in [8]: pd.

series(d

)out[8]:

a 0.0

b 1.0

c 2.0

dtype: float64

in [9]: pd.

series(d

,index=[

'b',

'c',

'd',

'a'])

out[9]:

b 1.0

c 2.0

d nan

a 0.0

dtype: float64

series的提取方式

in [11]: s[0]  #提取乙個

out[11]: 0.46911229990718628

in [12]: s[:3]    #提起開始至第三行

out[12]: 

a    0.4691

b   -0.2829

c   -1.5091

dtype: float64

in [13]: s[s > s.median()]   #按要求提取

out[13]: 

a    0.4691

e    1.2121

dtype: float64

in [14]: s[[4, 3, 1]]       

out[14]: 

e    1.2121

d   -1.1356

b   -0.2829

dtype: float64

in [15]: np.exp(s)

out[15]: 

a    1.5986

b    0.7536

c    0.2211

d    0.3212

e    3.3606

dtype: float64

構造方式 

in [32]: d=

....:

in [33]: df=

pd.dataframe(d

)in [34]:

dfout[34]:

one two

a 1.0 1.0

b 2.0 2.0

c 3.0 3.0

d nan 4.0

in [35]: pd.

dataframe(d

,index=[

'd',

'b',

'a'])

out[35]:

one two

d nan 4.0

b 2.0 2.0

a 1.0 1.0

in [36]: pd.

dataframe(d

,index=[

'd',

'b',

'a'],

columns=[

'two'

,'three'

])out[36]:

two three

d 4.0 nan

b 2.0 nan

a 1.0 nan

提取或按要求新增字段

in [56]: df[

'one'

]out[56]:

a 1.0

b 2.0

c 3.0

d nan

name: one, dtype: float64

in [57]: df[

'three']=

df['one']*

df['two'

]in [58]: df[

'flag']=

df['one'

]>

2in [59]:

dfout[59]:

one two three flag

a 1.0 1.0 1.0 false

b 2.0 2.0 4.0 false

c 3.0 3.0 9.0 true

d nan 4.0 nan false

pandas資料處理

dataframe.duplicated subset none,keep first 判斷dataframe中的資料是否有重複 必須一行中所有資料都重複才算重複,只能判斷行,不能判斷列 返回series dataframe.drop duplicates subset none,keep firs...

Pandas資料處理

資料處理 pandas from sklearn.preprocessing import minmaxscaler data 1,2 0.5,6 0.10 1,18 將 numpy 轉換成 pd 表 pd.dataframe data 歸一化 0,1 之間 scaler minmaxscaler ...

Pandas資料處理

原始資料如下 型別為datetime 要拆分上述資料,分別將日期和時間賦予到不同的列。原始資料為data,型別為datetime test1 hour data timestamp map lambda x x.strftime h test1 hour data timestamp map lam...