参考链接: Pandas DataFrame中的转换函数

之前已经写过pandas DataFrame applymap()函数

还有pandas数组(pandas Series)-(5)apply方法自定义函数

pandas DataFrame 的 applymap() 函数和pandas Series 的 apply() 方法,都是对整个对象上个各个值进行单独处理,返回一个新的对象.

而pandas DataFrame 的  apply() 函数,虽然也是作用于DataFrame的每个值,但是接受的参数不是各个值本身,而是DataFrame里各行(或列),返回一个新的行(列):

有如下一组数据: 记录了10个学生在两次考试的成绩:

grades_df = pd.DataFrame(

data={'exam1': [43, 81, 78, 75, 89, 70, 91, 65, 98, 87],

'exam2': [24, 63, 56, 56, 67, 51, 79, 46, 72, 60]},

index=['Andre', 'Barry', 'Chris', 'Dan', 'Emilio',

'Fred', 'Greta', 'Humbert', 'Ivan', 'James']

)

要求把学生的成绩转换成A,B,C,D,E,五个等级,转换规则如下:

考分前 20% 的成绩得到A

20% - 50% 的得到B

50% - 80% 的得到C

80% - 90% 的得到D

90% - 100% 的得到E

首先,可以使用 .qcut() 方法来写一个按照区间转换数据值的函数: pandas的qcut()方法

def convert_grades_curve(exam_grades):

return pd.qcut(exam_grades, [0, 0.1, 0.2, 0.5, 0.8, 1], labels=['E', 'D', 'C', 'B', 'A'])

然后对整个DataFrame应用这个函数

print grades_df.apply(convert_grades_curve)

exam1 exam2

Andre       F     F

Barry       B     B

Chris       C     C

Dan         C     C

Emilio      B     B

Fred        C     C

Greta       A     A

Humbert     D     D

Ivan        A     A

James       B     B

可见,DataFrame的apply()方法默认作用于DataFrame的各列.

如果想作用于行,可以设置参数axis

DataFrame.apply(func,axis=0)

[转载] pandas DataFrame apply()函数(1)相关推荐

  1. python apply函数的用法_Python pandas.DataFrame.apply函数方法的使用

    DataFrame.apply(func, axis=0, broadcast=None, raw=False, reduce=None, result_type=None, args=(), **k ...

  2. python使用statsmodels包中的robust.mad函数以及pandas的apply函数计算dataframe中所有数据列的中位数绝对偏差(MAD)

    python使用statsmodels包中的robust.mad函数以及pandas的apply函数计算dataframe中所有数据列的中位数绝对偏差(MAD.Median Absolute Devi ...

  3. pandas使用apply函数和lambda函数、把所有行指定的数据列进行相加(use apply and lambda to add value in dataframe rows)

    pandas使用apply函数和lambda函数.把所有行指定的数据列进行相加(use apply and lambda to add value in dataframe rows) 目录

  4. pandas使用apply函数将dataframe多个数据列整合为元组形式并生成新的数据列(combine multiple columns as a single column of tuples)

    pandas使用apply函数将dataframe多个数据列整合为元组形式并生成新的数据列(combine multiple columns as a single column of tuples ...

  5. pandas使用apply函数:在dataframe数据行(row)上施加(apply)函数

    pandas使用apply函数:在dataframe数据行(row)上施加(apply)函数 目录 pandas使用apply函数:在dataframe数据行(row)上施加(apply)函数

  6. pandas使用apply函数:在dataframe数据列(column)上施加(apply)函数

    pandas使用apply函数:在dataframe数据列(column)上施加(apply)函数 目录 pandas使用apply函数:在dataframe数据列上施加函数 #apply函数的基本语 ...

  7. pandas.DataFrame.apply方法详解

    1.方法的参数解释 官方解释:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.htm ...

  8. pandas的apply函数常见用法总结

    函数介绍 pandas的apply函数通常用于一些复杂的遍历操作(遍历可迭代对象的同时执行一些自定义函数),它的可定制程度高,而且比itterrows.for等操作效率更高,是我非常喜欢而且常用的一个 ...

  9. pandas使用apply函数基于条件(if condition)生成新的数据列

    pandas使用apply函数基于条件(if condition)生成新的数据列 目录 pandas使用apply函数基于条件(if condition)生成新的数据列

最新文章

  1. leetcode算法题--比特位计数
  2. 品质标签分几种颜色_小标签大学问,如何给实验室仪器贴标签?
  3. 4.2 Tensorflow笔记:池化函数
  4. keras 自定义评估函数和损失函数loss训练模型后加载模型出现ValueError: Unknown metric function:fbeta_score
  5. Codeforces Round #715 (Div. 2) D. Binary Literature 构造
  6. oracle 无效数字 0,oracle to_namber之后报ora-01722:无效数字
  7. 新海诚没有参与制作的作品_爱情可以是哪些样子——盘点新海诚和宫崎骏作品中的爱情故事...
  8. Copy-on-Write模式:写时复制
  9. php随机发牌游戏,JavaScript_javascript实例--教你实现扑克牌洗牌功能,我们一般都会按照顺序把随机 - phpStudy...
  10. 资料1:中小企业局势分析
  11. CAD网页Web端显示开发为什么要以WebGIS的思路来开发?
  12. 微信小程序——添加广告
  13. AI聚变:寻找 2018 优秀人工智能应用案例
  14. 分布式数据库TiDB介绍
  15. TCP/IP协议及配置
  16. 机器人总动员主角简笔画_机器人总动员简笔画
  17. Mac 设置允许任何来源软件运行
  18. 轻松上手CSS Grid网格布局
  19. 中石油计算机图形学第二次在线,石油华东《计算机图形学》2020年秋季学期在线作业(二)...
  20. UWB技术是如何做到室内精准定位的?

热门文章

  1. 【CCCC】PAT : 团体程序设计天梯赛-练习集 L3 答案(01-23)
  2. 【基础】基础算法学习笔记(状态空间)
  3. JavaScript函数的两种声明方式(4)
  4. spring mysql防注入攻击_【spring】(填坑)sql注入攻击 - 持久层参数化
  5. Python入门--面向对象的特征-->封装
  6. 客户端主动断开连接_Go实现客户端和服务器抓包分析TCP三次握手和断开操作
  7. 计算机组成原理—主存容量扩展
  8. [leetcode]209. 长度最小的子数组
  9. [leetcode]1131. 绝对值表达式的最大值 --绝对值表达式枚举拆分的方法
  10. Codeforces Round #518 (Div. 2): E. Multihedgehog(模拟)