小白學競賽:10個基礎的Pandas函數(shù)
Hello大家好,我是Coggle菌。從今天開始我將和大家一起學習競賽中的各種基礎知識點,從基礎庫使用到具體的比賽案例。
今天我們將學習Pandas,一個非常強大的數(shù)據(jù)分析、數(shù)據(jù)清洗和讀取的工具,也是在Kaggle競賽中必備的庫。
在這篇文章中,我將通過最常見的一些Pandas函數(shù),希望入門的同學在學習完成后可以掌握。
unique和nunique函數(shù)
unique函數(shù)某列返回唯一元素的列表,此函數(shù)比NumPy中的unique函數(shù)更快。
data['Embarked'].unique()
nunique函數(shù)計算列不同值,其中NaN值被忽略。
data['Embarked'].nunique()
describe函數(shù)
describe函數(shù)統(tǒng)計表格中每列的平均值、最大值、最小值、分位點和分布情況。在統(tǒng)計時describe會忽略缺失值,用于查看數(shù)據(jù)整體的情況。
data.describe()
sort_values函數(shù)
sort_values函數(shù)可以對表格按照某列或者多列進行排序,通過ascending參數(shù)可以控制排序次序。
data.sort_values(by='Age',?ascending=False)
value_counts函數(shù)
value_counts函數(shù)返回列中每個唯一值的計數(shù),并按降序顯示,最頻繁出現(xiàn)的元素排在最前面。value_counts函數(shù)不包括空值。
data[['Pclass','Sex']].value_counts()
isnull函數(shù)
isnull函數(shù)計算數(shù)組的對象中是否存在任何缺失值,并返回布爾值。
fillna函數(shù)
fillna函數(shù)函數(shù)用于根據(jù)指定的方法填充缺失值,可以向其傳入填充值(用于填充缺失值的值)和填充方法(如 bfill、ffill 等)等參數(shù)。
data['Age'].fillna(value=data['Age'].median(),inplace=True)
groupby 函數(shù)
groupby函數(shù)用于拆分數(shù)據(jù)并進行一些聚合(例如 sum、mean、count 等)或對其進行轉換(例如用于填充缺失值或標準化數(shù)據(jù))。
data.groupby(['Sex'])['Age'].agg(['max','min','mean','median'])
map函數(shù)
map函數(shù)用于映射將一個系列的值替換為另一個值。
sex?=?{'male':1,?'female':0}?
data['Sex'].map(gender)
apply函數(shù)
apply函數(shù)無疑是所有函數(shù)中最有用的函數(shù)之一,可以在 apply函數(shù) 內部傳遞一個函數(shù),它將根據(jù)需要應用于整個數(shù)據(jù)幀或特定系列。
df?=?pd.DataFrame({'Name':['X','Y','Z'],?'Marks':[150,120,175]})
def?percentage_marks(x):
????return?x/2
df['Marks'].apply(percentage_marks)
pivot函數(shù)
pivot函數(shù)通過索引或列值重塑數(shù)據(jù)框,這個功能基本類似于數(shù)據(jù)透視表。它使用列的唯一值來形成數(shù)據(jù)幀的索引。但與groupby函數(shù)不同,pivot不支持數(shù)據(jù)聚合。
df?=?pd.DataFrame({'Class':['1st','2nd','3rd','1st','2nd','3rd'],'Section':['A','A',?'A','B','B','B'],'Gr':[1,2,3,4,5,6]})?
df.pivot(index='Class',?columns='Section',values='Gr')

相關閱讀:
