pandas函数 apply、iterrows、iteritems、groupyby

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 数据类型;
    pandas函数 apply、iterrows、iteritems、groupyby_第1张图片
# 沿着0轴求和
data[["height","weight","age"]].apply(np.sum, axis=0)# 沿着0轴取对数
data[["height","weight","age"]].apply(np.log, axis=0)

pandas函数 apply、iterrows、iteritems、groupyby_第2张图片
pandas函数 apply、iterrows、iteritems、groupyby_第3张图片

def BMI(series):
    weight = series["weight"]
    height = series["height"]/100
    BMI = weight/height**2
    return BMI
​
data["BMI"] = data.apply(BMI,axis=1)

pandas函数 apply、iterrows、iteritems、groupyby_第4张图片

agg

DataFrame.agg(func=None, axis: 'Axis' = 0, *args, **kwargs)

pandas函数 apply、iterrows、iteritems、groupyby_第5张图片

对每行进行处理

DataFrame.iterrows() 

pandas函数 apply、iterrows、iteritems、groupyby_第6张图片

每列的循环处理

DataFrame.iteritems()

iteritems可以将DataFrame对象的列
pandas函数 apply、iterrows、iteritems、groupyby_第7张图片

groupby

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False)

GroupBy对象可以通过groups属性访问分组的键的名称和属于该组的索引
pandas函数 apply、iterrows、iteritems、groupyby_第8张图片
GroupBy对象可以通过get_group获取指定的对象
pandas函数 apply、iterrows、iteritems、groupyby_第9张图片

你可能感兴趣的:(数据分析,数据科学,pandas,python,开发语言)