使用duplicated()函數檢測重複的行,返回元素爲布爾類型的Series對象,每一個元素對應一行,若是該行不是第一次出現,則元素爲True html
- keep參數:指定保留哪一重複的行數據
import numpy as np import pandas as pd from pandas import Series,DataFrame #建立一個df np.random.seed(1) df = DataFrame(data=np.random.randint(0,100,size=(8,4))) df
#手動將df的某幾行設置成相同的內容 df.iloc[2] = [66,66,66,66] df.iloc[4] = [66,66,66,66] df.iloc[7] = [66,66,66,66] df
df.duplicated(keep='last')
indexs = df.loc[df.duplicated(keep='last')].index df.drop(labels=indexs,axis=0)
使用drop_duplicates()函數刪除重複的行數組
df.drop_duplicates(keep='last')
使用replace()函數,對values進行映射操做 app
map()中可使用方法,能夠是自定義的方法dom
eg:map({to_replace:value})函數
map當作一種運算工具,至於執行何種運算,是由map函數的參數決定的(參數:lambda,函數)工具
注意:並非任何形式的函數均可以做爲map的參數。只有當一個函數具備一個參數且有返回值,那麼該函數才能夠做爲map的參數。spa
使用df.std()函數能夠求得DataFrame對象每一列的標準差 3d
- take()函數接受一個索引列表,用數字表示,使得df根據列表中索引的順序進行排序 - eg:df.take([1,3,4,2,5])
能夠藉助np.random.permutation()函數隨機排序code
random_df = df.take(np.random.permutation(1000),axis=0).take(np.random.permutation(3),axis=1) random_df[0:100]
數據聚合是數據處理的最後一步,一般是要使每個數組生成一個單一的數值。orm
數據分類處理:
數據分類處理的核心:
- groupby()函數 - groups屬性查看分組狀況 - eg: df.groupby(by='item').groups
from pandas import DataFrame,Series df = DataFrame({'item':['Apple','Banana','Orange','Banana','Orange','Apple'], 'price':[4,3,3,2.5,4,2], 'color':['red','yellow','yellow','green','green','green'], 'weight':[12,20,50,30,20,44]}) df