DataFrame(12):数据转换——apply(),applymap()函数的使用(一)

简介: DataFrame(12):数据转换——apply(),applymap()函数的使用(一)

1、apply()函数

1)apply()函数作用

① apply()函数作用于Series

 和Series的map()方法作用是一样的,依次取出Series中的每一个元素作为参数,传递给function函数,进行一次转换。


② apply()函数作用于DataFrame

 依次取出DataFrame中的每一个元素作为参数,传递给function函数,进行转换。注意:DataFrame中的每一个元素是一个Series。


③ 原始数据链接如下

http://note.youdao.com/noteshare?id=3943f6b14c322e683fb2fe3bfdd11f63&sub=06345554A2234845B796B525E76697ED

 


2)apply()函数作用于Series

① 案例一:1代表男,0代表女,完成如下替换

df = pd.read_excel(r"C:\Users\黄伟\Desktop\test.xlsx",sheet_name=3)
display(df)
def func(x):
    if x == "男" or x == "女":
        return x
    elif x == 1:
        return "男"
    else:
        return "女"
df["性别"] = df["性别"].apply(func)
display(df)


结果如下:

image.png


② 案例二:将身高统一替换为“cm”单位

df = pd.read_excel(r"C:\Users\黄伟\Desktop\test.xlsx",sheet_name=3)
display(df)
def func(x):
    if x.endswith("cm"):
        return x
    else:
        v = float(x.replace("m",""))
        return str(v*100)+"cm"
df["身高"] = df["身高"].apply(func)
display(df)


结果如下:

image.png


③ 案例三:提取日期中的年、月、日

df = pd.read_excel(r"C:\Users\黄伟\Desktop\test1.xlsx")
display(df)
# 注意:这里的日期列,是时间格式
df["year"] = df["日期"].apply(lambda x:x.year)
df["month"] = df["日期"].apply(lambda x:x.month)
df["day"] = df["日期"].apply(lambda x:x.day)
display(df)


结果如下:

image.png


3)apply函数作用于DataFrame

① 案例一:求出某些列的均值

df = pd.read_excel(r"C:\Users\黄伟\Desktop\test.xlsx",sheet_name=2)
display(df)
df1 = df[["语文","物理"]]
display(df1)
display(type(df1))
df[["语文","物理"]].apply(lambda x:x.mean())


结果如下:

image.png

相关文章
|
SQL 数据挖掘 数据处理
DataFrame(4):DataFrame的创建方式
DataFrame(4):DataFrame的创建方式
DataFrame(4):DataFrame的创建方式
|
数据处理 Python
Pandas数据处理 | apply() 函数用法指南!
本文介绍一下关于 Pandas 中 apply() 函数的几个常见用法,apply() 函数的自由度较高,可以直接对 Series 或者 DataFrame 中元素进行逐元素遍历操作,方便且高效,具有类似于 Numpy 的特性。
|
3月前
|
Python
Pandas中的apply函数应用
Pandas中的apply函数应用
21 0
|
7月前
|
数据采集 数据处理 索引
如何使用 Pandas 删除 DataFrame 中的非数字类型数据?
如何使用 Pandas 删除 DataFrame 中的非数字类型数据?
100 3
|
7月前
|
NoSQL Serverless Python
在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。
【5月更文挑战第2天】在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。方法一是直接赋值,如`df['C'] = 0`,创建新列C并初始化为0。方法二是应用函数,例如定义`add_column`函数计算A列和B列之和,然后使用`df.apply(add_column, axis=1)`,使C列存储每行A、B列的和。
318 0
|
7月前
|
人工智能 程序员 数据处理
Pandas数据处理2、DataFrame的drop函数具体参数使用详情
Pandas数据处理2、DataFrame的drop函数具体参数使用详情
97 0
|
7月前
|
SQL 人工智能 数据处理
Pandas数据处理1、DataFrame删除NaN空值(dropna各种属性值控制超全)
Pandas数据处理1、DataFrame删除NaN空值(dropna各种属性值控制超全)
152 0
|
7月前
|
JSON 分布式计算 关系型数据库
Spark中使用DataFrame进行数据转换和操作
Spark中使用DataFrame进行数据转换和操作
|
数据处理 索引 Python
pandas数据处理之数据转换(映射map、替换replace、重命名rename)
我们在数据处理的过程中经常碰到需要对数据进行转换的工作,比如将原来数据里的字典值根据字典转义成有意义的说明,将某些数据转换成其他的数据,将空值转换成其他值,将数据字段名进行重命名等。pandas作为数据处理分析的利器当然为上述的这些数据转换提供了便捷的方法。我们可以利用pandas提供的映射、替换、重命名等操作方便的进行相应的数据转换操作。 本文通过实例重点介绍pandas常用的数据转换工具映射map()、替换replace()、重命名rename()
320 0
|
数据采集 数据挖掘 索引
Pandas中第二好用的函数 | 优雅的apply
本文主要讲的是Pandas中第二好用的函数——apply。为什么说第二好用呢?做人嘛,最重要的就是谦虚,做函数也是一样的,而apply就是这样一个优雅而谦虚的函数。我们单独用一篇来为apply树碑立传,原因有二,一是因为apply函数极其灵活高效,甚至是重新定义了pandas的灵活,一旦熟练运用,在数据清洗和分析界可谓是“屠龙在手,天下我有”;二是apply概念相对晦涩,需要结合具体案例去咀嚼和实践。
202 0
Pandas中第二好用的函数 | 优雅的apply