(1)agg()函数:通常用于调用groupby()函数之后,对数据做一些聚合操作,包括sum、min、max以及其他一些聚合函数。
- df.groupby(by="A").agg(["mean","min","max"]) #获取按照A类分组后A列的平均值、最小值、最大值
- df.groupby(by="A").agg({"B":["min","max"],"c":"min"}) #获取按照A类分组后B列的最小值和最大值,以及c列的最小值
(2)map()函数:会根据提供的函数对指定序列做映射。
- df['sex'].map({"male":1,"female":0}) #将性别数字化
- list(map(square,[1,2,3,4,5])) #计算列表各元素的平方
- list(map(lambda x: x**2,[1,2,3,4,5])) #使用lambda函数计算各元素平方
(3)unique()函数和nunique函数
unique()函数:用于获取Series对象的唯一值。
nunique()函数:唯一值的数量。
- df["a"].unique()
- df["a"].nunique()
(4)var()函数、std()函数
var()函数:求解方差
std()函数:求解标准差
- df["a"].var() #计算a列的方差
- df["a"].std() #计算a列的标准差
(5)cumsum()函数:某列逐行累加,例如某列的值为1,2,3,4.那么累加就是1,3,6,10。
df["a"].cumsum() #累加a列的数据
(6)idxmax()函数、idxmin()函数
idxmax()函数:列出最大值所对应的索引号。
idxmin()函数:列出最小值所对应的索引号。
- df["a"].idxmax() #列出a列最大值所对应的索引号
- df["a"].idxmin() #列出a列最小值所对应的索引号
(7) replace()函数:允许或不允许对同一行进行多次采样,通常在数据抽样处理时用此函数。
- df.sample(n=5,replace=False) #不放回随机抽样5个数据
- df.sample(n=5,replace=True) #有放回随机抽样5个数据
(8)concat()函数、merge()函数
concat()函数:用于连接两个或者多个数组,返回新的数组。
merge()函数:类似于SQL中join的用法,可以将不同数据集依照某些字段(属性)进行合并操作,得到一个新的数据集。
- pd.concat(objs=[df1,df2,df3],axis=0) #以行的维度合并数据
- pd.merge(left=df1,right=df2,on="年份",how="outer") #根据“年份”来外连接df1,df2
(9)inplace()函数 :是否在原对象基础上进行修改
inplace = True:不创建新的对象,直接对原始对象进行修改;
inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。
df.drop(["A"],axis=1,inplace=True) #删除A列,并且直接在原对象上进行修改
(10)set_index()函数、reset_index()函数
set_index()函数:设置索引
reset_index()函数:取消索引
- d=df_1.set_index(keys="年份",drop=False) #设置年份一列为索引,且年份这一列保留
- d.reset_index(inplace=True) #在原对象的基础上删除索引
(11)duplicated()函数、drop_duplicates()函数
- #subset列标签
- #keep——first:删除第一次出现的重复项;last:删除重复项,除了最后一次出现;false:删除所有重复项
- df_1.duplicated(subset="年份",keep="first") #查找重复值
- df_1.drop_duplicates(subset="年份",keep="first",inplace=False) #删除重复值
- df_1.index.duplicated() #查找重复索引