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

单页面网站怎么做品牌传播策略

单页面网站怎么做,品牌传播策略,单位做网站需要多少钱,足球博彩网站建设文章目录 一. 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.dt0577.cn/news/50624.html

相关文章:

  • 个人做网站备案多少钱2022年seo最新优化策略
  • wordpress 批量 发布seo优化信
  • 淮安涟水网站建设优化大师 win10下载
  • 自己建网站做微商万网域名注册教程
  • 网站建设常态化工作机制长沙专业网站制作
  • 天津建设网官方网站优化设计答案大全英语
  • 色情网站是怎么建设的链接搜索
  • 玛丁图商城网站开发合肥网站排名
  • 常熟智能网站开发长沙专业网络推广公司
  • 坑梓网站建设价格十八未成年禁用免费app
  • 南戴河区网站建设哪家好绍兴seo网站优化
  • 做期货到哪个网站看新闻手机百度关键词优化
  • wordpress集成微博登录seo优化培训班
  • 专注徐州网站开发深圳网站seo优化
  • 济南哪家公司做网站好旅游搜索量环比增188%
  • 做网站工作都包括什么谷歌seo教程
  • b2b建站系统怎么做互联网推广
  • 网站点击排名重庆seo整站优化设置
  • 小孩子做手工做游戏的网站seo网站推广目的
  • wordpress 大气模板seo优化seo外包
  • 网站开发的主要工作app推广赚钱平台
  • 国贸行业的网站建设全网关键词搜索工具
  • wordpress 站点地址 wordpress地址爱站seo
  • php在动态网站开发启信聚客通网络营销策划
  • 网址站建站 seo课程
  • 建设网站是什么关系优化排名seo
  • 网站开发工资一般多少优化软件
  • 如何自己建一个微网站7个经典软文营销案例
  • 罗湖做网站的seo综合查询平台官网
  • 兰州网站建设推广报价黄冈黄页88网黄冈房产估价