pandas - 如何在熊猫数据框中乘以一组列
问题描述
我有一个熊猫数据框和一个列表,如下所示。
cols = ['n1', 'n2']
item n1 n2 n3
item1 1 2 5
item2 2 3 3
item3 1 1 1
我想将选定的列相乘cols
并将其作为单独的列添加到数据框中。IE,
item n1 n2 n3 multiplication
item1 1 2 5 2
item2 2 3 3 6
item3 1 1 1 1
我尝试使用multiply
如下功能来做到这一点。
df[n1].multiply(df[n2])
但是,当只有 2 时,这很容易columns
。假设我在cols
列表中有很多列(例如,cols = ['n1', 'n2', 'n3', 'n4', 'n5']
)。如何在熊猫中有效地进行这种乘法?也许使用一行代码。
如果需要,我很乐意提供更多详细信息。
解决方案
使用产品
cols = ['n1','n2', 'n3']
df['multiplication'] = df[cols].prod(axis=1)
prodproduct
为提供的轴提供值。
在这种情况下,cumprod
不是正确的选择,因为它提供cumulative product
然后获取last column
结果,这是额外的计算
推荐阅读
- jquery - 复选框在自行选择时不起作用
- libgdx - TiledMapTileLayer 不会从 TileLayer 投射
- c# - C# WPF 从类似于 Listbox 的 txt 文件加载 ComboBox
- reactjs - 从 Material UI Radio 返回布尔值以在 Yup .when 验证中使用
- python - 使用生成器函数迭代可迭代对象
- r - 如何删除添加到图例的斜线?
- php - php preg_split()。不是正确的模式并将句点转换为逗号?
- azure - Azure API 管理:通过路径和查询参数区分操作
- angular - 选中复选框后切换 div 标签的 Jasmine 单元测试用例
- javascript - 向使用用户脚本制作的按钮添加功能