Python中的lambda和apply用法 - 加油安安的文章 - 知乎 https://zhuanlan.zhihu.com/p/42756654

#函数应用和映射
import numpy as np
import pandas as pd
df=pd.DataFrame(np.random.randn(4,3),columns=list('bde'),index=['utah','ohio','texas','oregon'])
print(df)
"""b         d         e
utah   -0.667969  1.974801  0.738890
ohio   -0.896774 -0.790914  0.474183
texas   0.043476  0.890176 -0.662676
oregon  0.701109 -2.238288 -0.154442
"""#将函数应用到由各列或行形成的一维数组上。DataFrame的apply方法可以实现此功能
f=lambda x:x.max()-x.min()
#默认情况下会以列为单位,分别对列应用函数
t1=df.apply(f)
print(t1)
t2=df.apply(f,axis=1)
print(t2)"""
b    1.597883
d    4.213089
e    1.401566
dtype: float64
utah      2.642770
ohio      1.370957
texas     1.552852
oregon    2.939397
dtype: float64
"""#除标量外,传递给apply的函数还可以返回由多个值组成的Series
def f(x):return pd.Series([x.min(),x.max()],index=['min','max'])
t3=df.apply(f)
#从运行的结果可以看出,按列调用的顺序,调用函数运行的结果在右边依次追加
print(t3)"""b         d         e
min -0.896774 -2.238288 -0.662676
max  0.701109  1.974801  0.738890
"""#元素级的python函数,将函数应用到每一个元素
#将DataFrame中的各个浮点值保留两位小数
f=lambda x: '%.2f'%x
t3=df.applymap(f)
print(t3)
"""b      d      e
utah    -0.67   1.97   0.74
ohio    -0.90  -0.79   0.47
texas    0.04   0.89  -0.66
oregon   0.70  -2.24  -0.15
"""#注意,之所以这里用map,是因为Series有一个元素级函数的map方法。而dataframe只有applymap。
t4=df['e'].map(f)
print(t4)"""
utah     0.74
ohio     0.47
texas   -0.66
oregon  -0.15
"""

DataFrame中apply的用法相关推荐

  1. pandas dataframe 中 explode()函数用法及效果

            最近在使用pyspark处理数据,需要连接各种各样的表和字段,因此记录相关函数的使用情况.今天介绍explode(). 1. explode()函数简介 explode 函数是 pan ...

  2. JavaScript中apply的用法

    1.对象的继承,一般的做法是复制:Object.extend prototype.js的实现方式是: Object.extend = function(destination, source) { f ...

  3. 【Python】DataFrame中的xs用法

    xs用于多重索引中,先创立一个二级行索引的dataframe,如下所示: np.arrays = [['one', 'one', 'one', 'two', 'two', 'two'], [1, 2, ...

  4. python基础中apply()函数的正确用法

    函数格式为:apply(func,*args,**kwargs) 用途:当一个函数的参数存在于一个元组或者一个字典中时,用来间接的调用这个函数,并肩元组或者字典中的参数按照顺序传递给参数 解析:arg ...

  5. python explode_pandas dataframe 中的explode函数用法详解

    在使用 pandas 进行数据分析的过程中,我们常常会遇到将一行数据展开成多行的需求,多么希望能有一个类似于 hive sql 中的 explode 函数. 这个函数如下: Code # !/usr/ ...

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

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

  7. dataframe 一列的不同值_pandas | 详解DataFrame中的apply与applymap方法

    点击上方蓝字,关注并星标,和我一起学技术. 今天是pandas数据处理专题的第5篇文章,我们来聊聊pandas的一些高级运算. 在上一篇文章当中,我们介绍了panads的一些计算方法,比如两个data ...

  8. python中convert函数用法_Python Pandas DataFrame.tz_convert用法及代码示例

    Pandas DataFrame是带有标签轴(行和列)的二维大小可变的,可能是异构的表格数据结构.算术运算在行和列标签上对齐.可以将其视为Series对象的dict-like容器.这是 Pandas ...

  9. 一文搞懂Pandas Dataframe中的apply方法

    告诉你如何在Pandas数据框架中使用apply()的方法. 扫码关注<Python学研大本营>,加入读者群,分享更多精彩 热点 在这篇文章中,我们将探索如何在DataFrame中使用ap ...

最新文章

  1. IE6 中的最大最小寬度和高度 css 高度 控制(兼容版本)
  2. Bootstrap学习遇到的role属性--- 无障碍网页应用属性
  3. Android面试最新总结
  4. VMware安装VMwaretools
  5. 详解RecyclerView下拉刷新与上拉更多
  6. asp.net 中的几种计时器
  7. python游戏制作软件_10 个最值得 Python 新人练手的有趣项目
  8. 《Linux内核分析》 week6作业-Linux内核fork()系统调用的创建过程
  9. 家用WIFI网络摄像头(P2P)安全吗?记一次海思Hi3518方案摄像头的测试
  10. 中标麒麟使用centos源_中标麒麟操作系统yum源配置
  11. 蓝牙无法连接手机解决大全(转)
  12. 骆昊python100天百度网盘_GitHub - yiailake/Python-100-Days: Python - 100天从新手到大师
  13. 看板游戏——叠纸飞机
  14. DbVisualizer 解决注释中文乱码问题
  15. ai为什么要栅格化_AI 效果-栅格化的具体用途是什么
  16. /proc/sysrq-trigger
  17. 大数据总结【第四章:Hbase】
  18. 别再跟面试官说你不懂什么是 IP 协议了
  19. 【论文阅读】PAIRWISE LINKAGE FOR POINT CLOUD SEGMENTATION-ISPRS-luxiaohu
  20. 在三线城市工作爽吗?

热门文章

  1. Java static修饰方法
  2. Java mq 2059_com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2059'.
  3. 双人游戏, 双人冒险小游戏 ,双人闯关小游戏
  4. 1月4号在中关村太平洋电脑城攒机
  5. 使用apache-poi生成excel文件与同步请求三种方式与文件下载
  6. Windows找不到文件‘gpedit.msc’。请确认文件名是否正确后,再试一次。
  7. 揭秘千亿中老年女装市场的“线上江湖”
  8. packet tracer安装
  9. FM的调制与解调(草稿)
  10. 用过的最好的自动机画图工具  JFLAP