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

相关文章
|
Python
dataframe添加一新列
dataframe添加一新列
2779 2
|
数据处理 Python
Pandas数据处理 | apply() 函数用法指南!
本文介绍一下关于 Pandas 中 apply() 函数的几个常见用法,apply() 函数的自由度较高,可以直接对 Series 或者 DataFrame 中元素进行逐元素遍历操作,方便且高效,具有类似于 Numpy 的特性。
|
Python
apply函数的用法
apply是pandas处理数据经常用到的函数。我们可以用DataFrame的apply函数实现对多列、多行的操作。可通过axis设置参数,设为1是对列进行操作,参数axis设为0是对行操作。apply经常跟lambda一起使用,非常方便,大大提高了效率。
673 0
|
SQL 索引 Python
Pandas中DataFrame合并的几种方法
Pandas中DataFrame合并的几种方法
2403 1
|
索引 Python
Python 教程之 Pandas(7)—— 遍历 Pandas DataFrame 中的行和列
Python 教程之 Pandas(7)—— 遍历 Pandas DataFrame 中的行和列
1583 0
|
Python
在Python的pandas库中,向DataFrame添加新列简单易行
【6月更文挑战第15天】在Python的pandas库中,向DataFrame添加新列简单易行。可通过直接赋值、使用Series或apply方法实现。例如,直接赋值可将列表或Series对象分配给新列;使用Series可基于现有列计算生成新列;apply方法则允许应用自定义函数到每一行或列来创建新列。
1635 8
|
存储 数据采集 数据处理
DataFrame赋值技巧:让数据处理更高效
DataFrame赋值技巧:让数据处理更高效
1584 0
|
Python
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序
【5月更文挑战第2天】使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序。示例代码展示了如何按'Name'和'Age'列排序 DataFrame。先按'Name'排序,再按'Age'排序。sort_values()的by参数接受列名列表,ascending参数控制排序顺序(默认升序),inplace参数决定是否直接修改原DataFrame。
1711 1
|
数据可视化 Python
DataFrame 中的时间序列分析:处理日期和时间数据
【5月更文挑战第19天】在数据分析中,时间序列数据的处理至关重要。使用Pandas,我们可以将日期列转换为日期类型,便于进行时间序列操作,如提取年月日、计算时间间隔。通过`resample`处理不规则间隔,用`fillna`或`dropna`填补或删除缺失日期。结合`matplotlib`进行可视化,揭示数据趋势。正确处理日期和时间信息是准确分析的前提,帮助我们从时间序列数据中发现模式,为决策提供依据。
660 2
|
Python
dataframe循环更新某列的值
使用Python的for循环和Pandas DataFrame的iterrows()方法可更新DataFrame列值。示例中创建新列'D',其值为旧列'C'的一半。
491 2

热门文章

最新文章