
如何用df的两列作复杂的运算
发布日期:2021-05-06 21:45:31
浏览次数:20
分类:精选文章
本文共 502 字,大约阅读时间需要 1 分钟。
代码如下:
data=pd.DataFrame(np.random.randn(5,5),columns=list('abcde'))
def fun1(s):
if s >0.9: return 1 elif s>0.5: return 0 else: return -1def fun2(s,d): if np.exp(s-d)>0.9: return 1 elif np.exp(s-d)>0.5: return 0 else: return -1data['l']=data['a'].map(fun1)data['l']=data['a'].map(lambda x:fun1(x))data['s']=data.apply(lambda x:fun2(x.a,x.b),axis=1)
正常输出;
结论:首先需要知道map是针对series,而且是元素级别的操作;而apply或applymap是针对dataframe操作的,apply是针对行列的,而加了个map针对的就是元素了;其本质区别在两函数传入的值不同;apply(x)中的代表行或是列,而applymap中的代表一个元素;
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月12日 18时33分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
eclipse引用sun.misc开头的类
2019-03-05
firefox中angular2嵌套发送请求问题
2019-03-05
【mybatis3】调试/断点打印日志
2019-03-05
C++
2019-03-05
[CTFSHOW]PHP特性
2019-03-05
navigator对象
2019-03-05
关于EFI系统分区(ESP)你应该知道的3件事
2019-03-05
5.Mybatis复杂映射开发
2019-03-05
Servlet2.5的增删改查功能分析与实现------删除功能(四)
2019-03-05
环境配置 jdk_mysql_myeclipse8.6
2019-03-05
Session验证码的实现(2018-7-3)
2019-03-05
spring启动错误:Could not resolve placeholder
2019-03-05
日志写入xml上传ftp遇到的问题
2019-03-05
下载任意版本vmware对应的vmware tools
2019-03-05
将 github 中他人的 仓库 导入 码云中,从而 加快下载速度的 方式
2019-03-05
Java 类加载的过程 加载、验证、准备、解析、初始化
2019-03-05
JavaWeb---实现JavaBean来接收参数、请求转发、域对象
2019-03-05
瀚高数据库中 java代码类型与bit对应(APP)
2019-03-05
选择性估算器绕过行安全策略漏洞
2019-03-05
PostgreSQL中的触发器
2019-03-05