pandas (四)資料處理

2021-10-06 15:02:23 字數 3014 閱讀 3140

# 保留小數字,四捨六入五成雙

df.round(2

)# 全部

df.round()

# 指定列

df['name'

]= df.name # 取列名的兩個方法

df[df.index ==

'jude'

]# 索引列的查詢要用 .index

df[df[col]

>

0.5]

# 選擇col列的值大於0.5的行

df[

(df[

'team']==

'a')

&( df[

'q1'

]>80)

& df.utype.isin(

['老客'

,'老訪客'])

]

# 篩選為空的內容

df[df.order.isnull(

)]

df[df.team.isin(

'a',

'b')

]df[

(df.team==

'b')

&(df.q1 ==17)

]df[

~(df[

'team']==

'a')

|( df[

'q1'

]>80)

]# 非,或

df[df.name.

str.contains(

'張')

]# 包含字元

df.sort_values(col1)

# 按照列col1排序資料,預設公升序排列

df.col1.sort_values(

)# 同上, -> s

df.sort_values(col2, ascending=

false

)# 按照列 col1 降序排列資料

# 先按列col1公升序排列,後按col2降序排列資料

df.sort_values(

[col1,col2]

, ascending=

[true

,false])

df2 = pd.get_dummies(df, prefix=

't_'

)# 將列舉的那些列帶列舉轉到列上

s.set_index(

).plot(

)

# 多索引處理

dd.set_index(

['utype'

,'site_id'

,'p_day'

], inplace=

true

)dd.sort_index(inplace=

true

)# 按索引排序

dd.loc[

'新訪客',2

,'2019-06-22'

].plot.barh(

)# loc 中按順序指定索引內容

# 前100行, 不能指定行,如:df[100]

df[:

100]

# 只取指定行

df1 = df.loc[0:

,['設計師id'

,'姓名'

]]

# 將ages平分成5個區間並指定 labels

ages = np.array([1

,5,10

,40,36

,12,58

,62,77

,89,100,18

,20,25

,30,32

])pd.cut(ages,[0

,5,20

,30,50

,100],

labels=

[u"嬰兒"

,u"青年"

,u"中年"

,u"壯年"

,u"老年"])

daily_index.difference(df_work_day.index)

# 取出差別

df.index.name # 索引的名稱 str

df.columns.tolist(

)df.values.tolist(

)df.總人口.values.tolist(

)data.

(np.mean)

# 對 dataframe 中的每一列應用函式 np.mean

data.

(np.

max,axis=1)

# 對 dataframe 中的每一行應用函式 np.max

df.insert(1,

'three',12

, allow_duplicates=

false

)# 插入列 (位置、列名、[值])

df.pop(

'class'

)# 刪除列

# 增加一行

, index=

['f'])

, sort=

true

)

# 指定新列

iris.assign(sepal_ratio=iris[

'sepalwidth'

]/ iris[

'sepallength'])

.head(

)df.assign(rate=

lambda df: df.orders/df.uv)

# shift 函式是對資料進行平移動的操作

df['增幅'

]= df[

'國內生產總值'

]- df[

'國內生產總值'

].shift(-1

)

pandas 資料處理

pandas中資料可以分為series,dataframe,panel分別表示一維至三維資料。其中在構造時,index表示行名,columns表示列名 構造方式 s pd.series data index index s pd series np random randn 5 index a b ...

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