Pandas教程07:DataFrame数据中apply参数自定义运算的用法 您所在的位置:网站首页 dataframe的apply Pandas教程07:DataFrame数据中apply参数自定义运算的用法

Pandas教程07:DataFrame数据中apply参数自定义运算的用法

2024-07-16 07:18| 来源: 网络整理| 查看: 265

DataFrame.apply()方法主要用于调用每个Series的函数。此函数可以是一个Python的函数,或者是lambda函数。此函数可以接收一个函数作为输入,并应用于DataFrame的每一列。

以下是一些DataFrame.apply()的示例用法:

# @Author : 小红牛 # 微信公众号:wdPython import pandas as pd data = {'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]} df = pd.DataFrame(data) print('0.原始DataFrame数据'.center(40, '-')) print(df) print('1.lambda计算平均值'.center(40, '-')) average = df.apply(lambda x: x.mean()) print(average) print('2.把每列数据的值*10'.center(40, '-')) result = df.apply(lambda x: x*10) print(result) print('3.sum函数计算总和'.center(40, '-')) sum_values = df.apply(sum) print(sum_values)

输出内容:

------------0.原始DataFrame数据------------- A B 0 1 10 1 2 20 2 3 30 3 4 40 4 5 50 -------------1.lambda计算平均值-------------- A 3.0 B 30.0 dtype: float64 --------------2.把每列数据的值*10-------------- A B 0 10 100 1 20 200 2 30 300 3 40 400 4 50 500 --------------3.sum函数计算总和--------------- A 15 B 150 dtype: int64

2.假设我们有一个包含学生数学和英语成绩的DataFrame,我们想要计算每个学生的总分数。我们可以使用apply方法来实现这个功能。

import pandas as pd # 创建DataFrame print('0.原始DataFrame数据'.center(40, '-')) df = pd.DataFrame({'Math': [90, 90, 80], 'Chinese': [80, 100, 92], 'English': [70, 60, 80]}) print(df) # 定义计算总分数的函数 def calculate_total_score(row): return row['Math'] + row['English'] # 使用apply方法应用函数 df['数学+英语分数'] = df.apply(calculate_total_score, axis=1) print('1.数学+英语的分数'.center(40, '-')) print(df)

输出内容

D:\Wdpython\environment\Scripts\python.exe D:/Wdpython/Ex/测试3.py ------------0.原始DataFrame数据------------- Math Chinese English 0 90 80 70 1 90 100 60 2 80 92 80 ---------------1.数学+英语的分数--------------- Math Chinese English 数学+英语分数 0 90 80 70 160 1 90 100 60 150 2 80 92 80 160 进程已结束,退出代码0

在上面的示例中,我们首先创建了一个包含学生数学和英语成绩的DataFrame。然后,我们定义了一个计算总分数的函数calculate_total_score,该函数接受一个行作为参数,并返回该行的数学和英语成绩之和。最后,我们使用apply方法将该函数应用于DataFrame的每一行,并将结果存储在一个新的’Total’列中。在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有