如何将数据帧的两列相乘(行相乘)并将结果存储在新列中?

2024-06-16 20:46:55 发布

您现在位置:Python中文网/ 问答频道 /正文

命令

df_main['Ranking'] = df_main['Porosity']*['Permeability']给出-

TypeError: can't multiply sequence by non-int of type 'str'

附件HD图片(https://i.stack.imgur.com/0Asu3.png)包含更多信息。我的代码片段位于i.stack.imgur.com/ehqF5.png)

更多信息:https://i.stack.imgur.com/0Asu3.png


Tags: https命令com信息dfpngstackmain
1条回答
网友
1楼 · 发布于 2024-06-16 20:46:55

首先,需要将两列的列类型转换为浮点数(否则不能将它们相乘)。您可以按如下方式执行此操作:

df_main[['Porosity', 'Permeability']] = df_main[['Porosity', 'Permeability']].astype(float)

然后可以通过乘法定义新列:

df_main['Ranking'] = df_main['Porosity']*df_main['Permeability']

相关问题 更多 >