Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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_Pandas_Dataframe - Fatal编程技术网

Python 如何在熊猫中进行列式操作?

Python 如何在熊猫中进行列式操作?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,看起来像: sample parameter1 parameter2 parameter3 A 9 6 3 B 4 5 7 C 1 5 8 我想做一个类似于: for sample in dataframe: df['new parameter'] = df[sample, parameter1]/df[sam

我有一个数据框,看起来像:

 sample parameter1 parameter2 parameter3
 A      9           6         3        
 B      4           5         7
 C      1           5         8
我想做一个类似于:

for sample in dataframe:
    df['new parameter'] = df[sample, parameter1]/df[sample, parameter2]
到目前为止,我已经尝试:

df2.loc['ratio'] = df2.loc['reads mapped']/df2.loc['raw total sequences']
但我得到了一个错误:

KeyError: 'the label [reads mapped] is not in the [index]'
当我清楚地知道它在索引中时,我想我在某处遗漏了一些概念。非常感谢您的帮助


我应该补充一点,参数值是浮动的,以防万一这也是一个问题

方法
.loc
首先需要行索引,然后是列索引,因此以下操作应该有效,因为您希望执行按列操作:

 df2['ratio'] = df2.loc[:, 'reads mapped'] / df2.loc[:, 'raw total sequences']

您可以在中找到更多信息。

我想您只需要
df.parameter1.div(df.parameter2)
您看过了吗?我已经看过并尝试过了。它给我带来了很多错误,主要是我的索引在索引中不存在。我已经验证了它确实存在于索引中,我认为这是因为“parameter1”不是字符串值?这正是我要寻找的!知道我为什么会犯这个错误吗试图在数据帧切片的副本上设置值。尝试使用.loc[row\u indexer,col\u indexer]=值来代替这是一个带有CopyWarning的
设置,这意味着df2只是一些其他数据帧的一部分。您可以通过将
.copy()
添加到代码中您第一次从另一个数据帧生成df2的任何位置来解决此问题。另请参见以下链接:@GAD这对您有帮助吗?是的!adding.copy()允许我按预期的方式执行操作。非常感谢!