apply
DataFrame.apply(self, func, axis=0, raw=False, result_type=None, args=(), **kwds)
- func 代表的是传入的函数或 lambda 表达式;
- axis 参数可提供的有两个,该参数默认为0/列
0 或者 index ,表示函数处理的是每一列;
1 或 columns ,表示处理的是每一行; - raw ;bool 类型,默认为 False;
False ,表示把每一行或列作为 Series 传入函数中;
True,表示接受的是 ndarray 数据类型;
# 沿着0轴求和
data[["height","weight","age"]].apply(np.sum, axis=0)
# 沿着0轴取对数
data[["height","weight","age"]].apply(np.log, axis=0)
def BMI(series):
weight = series["weight"]
height = series["height"]/100
BMI = weight/height**2
return BMI
data["BMI"] = data.apply(BMI,axis=1)
agg
DataFrame.agg(func=None, axis: 'Axis' = 0, *args, **kwargs)
对每行进行处理
DataFrame.iterrows()
每列的循环处理
DataFrame.iteritems()
iteritems可以将DataFrame对象的列
groupby
DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False)
GroupBy对象可以通过groups属性访问分组的键的名称和属于该组的索引
GroupBy对象可以通过get_group获取指定的对象