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...