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 的特性。
|
28天前
|
存储 数据采集 数据处理
Pandas中批量转换object至float的高效方法
在数据分析中,常需将Pandas DataFrame中的object类型列转换为float类型以进行数值计算。本文介绍如何使用`pd.to_numeric`函数高效转换,并处理非数字值,包括用0或平均值填充NaN值的方法。
31 1
|
2月前
|
Python
Pandas中的apply函数应用
Pandas中的apply函数应用
18 0
|
6月前
|
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列的和。
270 0
|
6月前
|
人工智能 程序员 数据处理
Pandas数据处理2、DataFrame的drop函数具体参数使用详情
Pandas数据处理2、DataFrame的drop函数具体参数使用详情
88 0
|
6月前
|
JSON 分布式计算 关系型数据库
Spark中使用DataFrame进行数据转换和操作
Spark中使用DataFrame进行数据转换和操作
|
数据采集 数据挖掘 索引
Pandas中第二好用的函数 | 优雅的apply
本文主要讲的是Pandas中第二好用的函数——apply。为什么说第二好用呢?做人嘛,最重要的就是谦虚,做函数也是一样的,而apply就是这样一个优雅而谦虚的函数。我们单独用一篇来为apply树碑立传,原因有二,一是因为apply函数极其灵活高效,甚至是重新定义了pandas的灵活,一旦熟练运用,在数据清洗和分析界可谓是“屠龙在手,天下我有”;二是apply概念相对晦涩,需要结合具体案例去咀嚼和实践。
195 0
Pandas中第二好用的函数 | 优雅的apply
|
数据处理 索引 Python
Python 之 Pandas 处理字符串和apply() 函数、applymap() 函数、map() 函数详解
Python 之 Pandas 处理字符串和apply() 函数、applymap() 函数、map() 函数详解