DataFrame和numpy中神奇的广播函数
来源:互联网 发布:qq旋风下线知乎 编辑:程序博客网 时间:2024/06/06 20:39
numpy的神奇广播函数
在使用pandas的时候,一般来说对两个DataFrame(简写df)的加减乘除,会自动索引对齐,很方便,DataFrame与Series之间的运算也会沿着指定的轴进行广播。最为人称道的广播形式大概就是apply和applymap这样的操作了,很方便,很强大。
但是也有不能满足需求的时候,比如一个DataFrame根据另一个DataFrame对应的元素进行自定义ufunc操作的时候,就不能满足了。庆幸的是numpy提供了一个广播函数,可以自定义广播函数,然后对两个DataFrame对应位置元素进行自定义操作。
1.pandas元素级操作
pandas的元素级操作是对每个元素进行相同的操作,比如格式转换,判断是否为空等。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2.DF根据另一个DF进行操作
对A的每个元素,根据B的相同位置的元素进行相应的操作。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
3.DF根据另一个DF进行操作
两个df除了加减乘除外的操作怎么办呢?比如A中的元素是否包含在B中对应元素呢?或者将A、B的对应元素转成字符串然后进行其他操作呢。
这里就用到了numpy的ufunc函数,可以自定义广播函数,然后对每个元素进行相同的操作。
frompyfunc
,把Python里的函数(可以是自写的)转化成ufunc,用法是frompyfunc(func, nin, nout)
,其中func是需要转换的函数,nin是函数的输入参数的个数,nout是此函数的返回值的个数。
注意:frompyfunc函数无法保证返回的数据类型都完全一致,因此返回一个中间类型object,需要再次obj.astype(np.float64)之类将其元素类型强制调齐。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
阅读全文
0 0
- DataFrame和numpy中神奇的广播函数
- numpy的神奇广播函数
- Github上最流行的pandas,pandas.DataFrame,numpy和scipy函数
- numpy中数组广播
- 神奇的android广播
- Numpy的广播机制
- 用pandas和numpy创建DataFrame
- numpy中矩阵相乘的用法:dot函数和乘号*
- numpy的ndarray与pandas的series和dataframe之间互转
- numpy中的ndarray与pandas的Series和DataFrame之间的相互转换
- DataFrame的reset_index函数
- numpy中transpose和swapaxes函数讲解
- Numpy的repeat函数和tile函数
- QString中一个神奇的函数
- python 中神奇的函数参数传递
- js中神奇的函数指针
- php中一个神奇的函数extract
- PHP中喜欢的神奇函数
- ZOJ 1003Crashing Balloon
- 百度IFE学习笔记(三)js获取页面内容及后续处理
- 文件上传-图片预览
- mouseenter 和over 实现二级导航的原理
- 数据结构五双向链表
- DataFrame和numpy中神奇的广播函数
- Java构造函数 为什么需要无参构造函数
- 遗传算法解决TSP问题
- Spring 管理对象
- Js添加事件
- Java 链接Mysql 数据库时使用变量插入数据方法
- Linux--配置虚拟网卡(临时生效)
- ADMM算法理论与应用
- 设置Mercury水星路由器的无线网络