当前位置: 首页 > news >正文

微信公众号里怎么做网站金坛做网站的

微信公众号里怎么做网站,金坛做网站的,福州网站建设哪里有,wordpress 投资文章目录 一. Series的apply方法1. 一个元素一个元素的传入2. apply传入一个参数函数2.apply传入多个参数函数 二. DataFrame的apply方法1. axis参数指定按行/ 按列(默认)传入数据2. apply使用 三. apply 使用案例1. 栗子12. 栗子2-列3. 栗子3-行 四. 向量化函数1. 使用np.vect…

文章目录

  • 一. Series的apply方法
    • 1. 一个元素一个元素的传入
    • 2. apply传入一个参数函数
    • 2.apply传入多个参数函数
  • 二. DataFrame的apply方法
    • 1. axis参数指定按行/ 按列(默认)传入数据
    • 2. apply使用
  • 三. apply 使用案例
    • 1. 栗子1
    • 2. 栗子2-列
    • 3. 栗子3-行
  • 四. 向量化函数
    • 1. 使用np.vectorize将函数向量化
    • 2. 使用装饰器将函数向量化
  • 五. lambda函数

简介

Pandas提供了很多数据处理的API,但当提供的API不能满足需求的时候,需要自己编写数据处理函数, 这个时候可以使用apply函数
apply函数可以接收一个自定义函数, 可以将DataFrame的行/列数据传递给自定义函数处理
apply函数类似于编写一个for循环, 遍历行/列的每一个元素,但比使用for循环效率高很多

一. Series的apply方法

1. 一个元素一个元素的传入

def my_print(x):print('****************')print(x)print(type(x))return xdf['a'].apply(my_print)

在这里插入图片描述

2. apply传入一个参数函数

准备数据

import pandas as pd
df = pd.DataFrame({'a':[10,20,30],'b':[40,50,60]})
df

在这里插入图片描述

创建一个自定义函数

def my_sq(x):'''求平方'''return x**2

apply方法有一个func参数, 把传入的函数应用于Series的每个元素

df['a'].apply(my_sq)

在这里插入图片描述

注意,把my_sq传递给apply的时候,不要加上圆括号

2.apply传入多个参数函数

def my_exp(x,e):return x**e
df['a'].apply(my_exp,e=3)

在这里插入图片描述

二. DataFrame的apply方法

1. axis参数指定按行/ 按列(默认)传入数据

def my_func(x):print(x)print('x的数据类型是',type(x))return xdf.apply(my_func)

在这里插入图片描述

def my_func(x):print(x)print('x的数据类型是',type(x))return xdf.apply(my_func,axis = 1)

在这里插入图片描述

2. apply使用

把上面创建的my_exp, 直接应用到整个DataFrame中

df.apply(my_exp,e=2)

在这里插入图片描述

def avg_3(col):x = col[0]y = col[1]z = col[2]return (x+y+z)/3df.apply(avg_3)

在这里插入图片描述

def avg_2(row):x = row[0]y = row[1]return (x+y)/2df.apply(avg_2, axis=1)

在这里插入图片描述

三. apply 使用案例

使用titanic数据集来介绍apply的用法

加载数据

titanic = pd.read_csv('data/titanic_train.csv')
titanic.head()

在这里插入图片描述

titanic.info()

在这里插入图片描述
该数据集有891行,12列, 其中age 和 Cabin,Embarked三列中包含缺失值

1. 栗子1

import numpy as np#可以使用apply计算数据中有多少null 或 NaN值
def count_missing(vec):#计算一列中缺失值的个数#根据值是否确实获取一个由True和False组成的向量null_vec = pd.isnull(vec)#print(null_vec)null_count = np.sum(null_vec)return null_count#缺失值占比
def prop_missing(vec):# 计算一列中缺失值的占比# 计算缺失值的个数#这里使用count_missing()num = count_missing(vec)  #获得向量中元素的个数#也需要统计缺失值个数dem = vec.sizereturn num/dem# 非缺失值占比
def prop_complete(vec):#计算一列非缺失值(完整值)占比#先计算缺失值比例#再计算非缺失值比例return 1-prop_missing(vec)

把前面定义好的函数应用于数据的各列

titanic.apply(count_missing)

在这里插入图片描述

titanic.apply(prop_missing)

在这里插入图片描述

titanic.apply(prop_complete)

在这里插入图片描述
把前面定义好的函数应用于数据的各行

titanic.apply(count_missing ,axis = 1)

在这里插入图片描述

titanic.apply(prop_missing ,axis = 1)

在这里插入图片描述

titanic.apply(prop_complete ,axis = 1)

在这里插入图片描述

titanic.apply(count_missing, axis=1).value_counts()

在这里插入图片描述

2. 栗子2-列

def cut_age(age):if age<18:return '未成年'elif 18<=age<40:return '青年'elif 40<=age<60:return '中年'elif 60<=age<81:return '老年'else:return '未知'
titanic['Age'].apply(cut_age).value_counts()

在这里插入图片描述

#筛选出年龄大于60的数据
titanic[titanic['Age']>=60]

3. 栗子3-行

# Pclass = 1 并且 Name中 包含了Master/Dr/Sir
def get_vip(x):if x['Pclass'] ==1 and ('Master' in x['Name'] or 'Dr' in x['Name'] or 'Sir' in x['Name'] ):return 'VIP'else:return 'Normal'
titanic['vip'] = titanic.apply(get_vip,axis=1)
titanic['vip'].value_counts()

在这里插入图片描述

# 筛选出vip客户
titanic[titanic['vip']=='VIP']

在这里插入图片描述

四. 向量化函数

创建一个DataFrame

df = pd.DataFrame({'a':[10,20,30],'b':[20,30,40]})

在这里插入图片描述
创建函数

def avg_2(x,y):return (x+y)/2
avg_2(df['a'],df['b'])

在这里插入图片描述
修改函数

def avg_2_mod(x,y):if x==20:return np.nanreturn (x+y)/2
avg_2(df['a'],df['b'])

在这里插入图片描述

在这里插入图片描述

1. 使用np.vectorize将函数向量化

avg_2_mod_vec = np.vectorize(avg_2_mod)
avg_2_mod_vec(df['a'], df['b'])

在这里插入图片描述

2. 使用装饰器将函数向量化

@np.vectorize
def avg_2_mod(x,y):if x==20:return np.nanreturn (x+y)/2
avg_2_mod(df['a'],df['b'])

在这里插入图片描述

五. lambda函数

当函数比较简单的时候, 没有必要创建一个def 一个函数, 可以使用lambda表达式创建匿名函数

df.apply(lambda x: x+1)

在这里插入图片描述

http://www.yayakq.cn/news/304601/

相关文章:

  • 北京网站制作策划怎样申请微信公众平台账号
  • 网站建设 技术服务删除wordpress有什么影响
  • 厦门网站建设报价网站维护工作是做啥
  • 外链发布网站做网站设计的论文中摘要怎么写
  • 网站主体信息wordpress分类id
  • 网站建设后怎么写idc网站备案
  • 网站后台功能需求需要做网站的企业电话
  • 做旅游网站的数据怎么来网站制作 技术
  • 网站开发集成工具创建个人网站多少钱
  • 网站制作费用是多少网页生成pdf失败
  • 医疗网站建设及优化方案企业的网站建设策划书
  • 医药招商网站大全杭州网站建设制作公司
  • 江苏大都建设工程有限公司网站专业的网络整合营销推广
  • 比分网站仿站建设山西太原建设银行招聘网站
  • 11年始终专注营销型网站建设旅游网站的市场分析
  • 网站底部关键词hs网站推广
  • 网页设计与网站建设景点介绍网站租用一年服务器费用多少
  • 杭州人防质监站网址国内新闻最新消息
  • 网站搭建源码唐山市住房和城乡建设局官方网站
  • 做设计必须知道的几个网站吗今科网站建设
  • wordpress後台建站百度地图开发网站
  • 网站建设定义是什么意思科技公司建设网站
  • 利用网站做淘宝客wordpress本地迁移到服务器
  • 做淘宝客如何建立网站市场营销策划方案
  • 英文网站设计制作深圳高端集团网站建设公司
  • wordpress网站正在维护中那些网站后台做推广效果好
  • 做弹幕网站html网站模板免费下载
  • c#+开发网站开发lnmp wordpress 伪静态
  • 网站建设公司彩铃php开发网站的优势
  • 专业重庆房产网站建设天猫入驻条件及费用2023