python - 将用户定义的函数应用于熊猫数据框的特定列并将新列添加到数据框
问题描述
我创建了一个名为的函数polar(X_relative , Y_relative , Z_relative)
,它采用如图所示的这 3 个参数,结果是新参数,即(azimuth_angle , tilt_angle)
. 我想将此函数应用于pandas数据帧,其中函数参数是数据帧中的某些列,并希望将函数的输出参数添加为(azimuth_angle , tilt_angle)
数据帧中为每一行计算函数的新列。
dataframe columns: X , Y, Z , X_relative , Y_relative , Z_relative
dataframe coulmns I expect after applying the function: X , Y, Z , X_relative , Y_relative , Z_relative , azimuth_angle , tilt_angle
解决方案
将返回包装polar
成一个系列:
return pd.Series([azimuth_angle, tilt_angle])
然后使用apply
:
df[['azimuth_angle', 'tilt_angle']] = df.apply(lambda x: polar(x.X_relative, x.Y_relative, x.Z_relative), axis = 1)
推荐阅读
- azure - 值不能为空。\r\n参数名称: inputParameters
- android - Android Webview 渲染问题
- java - 为什么我不能在我的应用上展示横幅广告?
- javascript - 三.js中的Tesseract?
- opencv - Opencv使白色像素比图像中的其他像素更亮,以便在阈值处理后显示
- shopware - 如何像 shopware 5 一样在 Shopware 6 中订阅预发送注册?
- flutter - Flutter 自定义弧形按钮
- unity3d - 如何动态地使精灵的特定部分透明?通过 Shader 什么的
- java - 在 YAML 中存储数组
- postgresql - Postgres查询给定列值在x秒内的时间