Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将数据帧的两列相乘(行相乘)并将结果存储在新列中?_Python_Python 3.x_Pandas - Fatal编程技术网

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

Python 如何将数据帧的两列相乘(行相乘)并将结果存储在新列中?,python,python-3.x,pandas,Python,Python 3.x,Pandas,命令 df_main['Ranking']=df_main['porsity']*['personality']给出- TypeError:无法将序列与'str'类型的非int相乘 附件HD图片()包含更多信息。我的代码片段位于i.stack.imgur.com/ehqF5.png) 更多信息:首先,您需要将两列的列类型转换为浮点数(否则无法将它们相乘)。您可以按如下方式执行此操作: df_main[['Porosity', 'Permeability']] = df_main[['Porosi

命令

df_main['Ranking']=df_main['porsity']*['personality']
给出-

TypeError:无法将序列与'str'类型的非int相乘

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


更多信息:

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

df_main[['Porosity', 'Permeability']] = df_main[['Porosity', 'Permeability']].astype(float)
然后可以通过乘法定义新列:

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

您是否尝试过
df_main['Ranking']=df_main['porsity']*df_main['personality']
?我不确定是否需要
.astype(float)
步骤。我想问题是他们试图用一个只包含一个字符串的元素列表乘以该列。@SethMMorton在问题中的imgur图中,乘积的语法似乎是正确的。当我尝试Miriam答案的正确形式时,我得到以下错误值错误:无法将字符串转换为浮点值:“12.863486 2'@Czar.Wolfgang”,基于错误“值错误:无法将字符串转换为浮点值:“12.863486 2”您在两列中的某一列中有值“12.863486 2”“。这确实不能转换为浮点,因为它不是实数,因为在2之前有一个空格。您需要决定如何处理这些非数字条目。您不能只将非数字相乘。你需要决定它是否是一个nan,或者你是否想把它转换成浮点数。哦,是的,我查过了。你是对的,我不认为他们是南人,你知道怎么把这些价值转换成浮动吗?