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

相关文章
DataFrame(12):数据转换——apply(),applymap()函数的使用(二)
DataFrame(12):数据转换——apply(),applymap()函数的使用(二)
DataFrame(12):数据转换——apply(),applymap()函数的使用(二)
|
Python
apply函数的用法
apply是pandas处理数据经常用到的函数。我们可以用DataFrame的apply函数实现对多列、多行的操作。可通过axis设置参数,设为1是对列进行操作,参数axis设为0是对行操作。apply经常跟lambda一起使用,非常方便,大大提高了效率。
820 0
|
存储 数据采集 数据处理
DataFrame赋值技巧:让数据处理更高效
DataFrame赋值技巧:让数据处理更高效
1861 0
|
数据处理 Python
Pandas数据处理 | apply() 函数用法指南!
本文介绍一下关于 Pandas 中 apply() 函数的几个常见用法,apply() 函数的自由度较高,可以直接对 Series 或者 DataFrame 中元素进行逐元素遍历操作,方便且高效,具有类似于 Numpy 的特性。
DataFrame(7):DataFrame运算——算术运算
DataFrame(7):DataFrame运算——算术运算
DataFrame(7):DataFrame运算——算术运算
|
SQL 数据挖掘 数据库
DataFrame多表合并拼接函数concat、merge参数详解+代码操作展示
DataFrame多表合并拼接函数concat、merge参数详解+代码操作展示
1589 0
DataFrame多表合并拼接函数concat、merge参数详解+代码操作展示
|
Python
在Python的pandas库中,向DataFrame添加新列简单易行
【6月更文挑战第15天】在Python的pandas库中,向DataFrame添加新列简单易行。可通过直接赋值、使用Series或apply方法实现。例如,直接赋值可将列表或Series对象分配给新列;使用Series可基于现有列计算生成新列;apply方法则允许应用自定义函数到每一行或列来创建新列。
1917 8
|
SQL 人工智能 数据处理
Pandas数据处理1、DataFrame删除NaN空值(dropna各种属性值控制超全)
Pandas数据处理1、DataFrame删除NaN空值(dropna各种属性值控制超全)
1009 0
|
人工智能 程序员 数据处理
Pandas数据处理2、DataFrame的drop函数具体参数使用详情
Pandas数据处理2、DataFrame的drop函数具体参数使用详情
613 0