Python數據處理

1.去重 data.drop_duplicates()

默認保留第一個值,take_last=True 返回最后一個值。

data.drop_duplicates(['k1','k2'],take_last=True)

2. 替換 ,data.replace()


3.下面用一個例子來一下子說明幾個函數的使用

數據表:data=DataFrame({'food':['bacon','pulled pork','bacon','Pastrami','corned beef','Bacon','pastrami','honey ham','nova lox'],'ounces':[4,3,12,6,7.5,8,3,5,6]})


另一個是維表

meat_to_animal = {

'bacon':'pig',

'pulled pork':'pig',

'pastrami':'cow',

'corned beef':'cow',

'honey ham':'pig',

'nova lox':'salmon'

}

3.將這兩個表關聯起來,.map可以將data frame中的column,作用一些函數,或者map一個維表

data['animal']=data['food'].map(str.lower).map(meat_to_animal)

food列都變成了小寫,且animal列也映射成功

4,下一個函數跟index相關,我們先把food列變成index

data1=data.set_index('food')

將index首字母大寫,columns名稱大寫

data2=data1.rename(index=str.title,columns=str.upper)

Index和column改名,Index 的Bacon 改為 little Bacon, column的OUNCES 改為weight

data3=data2.rename(index={'Bacon':'Little Bacon'},columns={'OUNCES':'weight'})


5.區間數據統計,用bins框定幾個區間,然后將一個數組data3的weight列,按照這幾個區間設定level,看看都屬于哪個level. pd.cut,左開右閉的形式,pd.value_counts(cats),可以最終統計各個分布

bins=[3,5,7,9,11,20]

W1=data3['weight']

cats=pd.cut(W1,bins)


pd.value_counts(cats)


左邊的區間,可以定義其他名稱,據目前觀察,labels竟然是按照字母順序排列的,所以只能想到加序號這個笨辦法了

group_names = ['1S','2S-M','3M','4M-L','5L']

cats_group=pd.cut(W1,bins,labels=group_names)


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容