Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.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 - Fatal编程技术网

Python 尝试从整个列中减去列的最小值时出现奇怪错误

Python 尝试从整个列中减去列的最小值时出现奇怪错误,python,pandas,Python,Pandas,当我试图从列本身减去pandas中一列的min时,我得到了一个奇怪的错误 我的代码如下所示: self.portfolio.number = self.portfolio.number - self.portfolio.number.min() dataframe本身是类的成员数据-不确定这是否与问题相关(假设不是) 错误如下: ValueError: Buffer has wrong number of dimensions (expected 1, got 0) 我在stack over

当我试图从列本身减去pandas中一列的min时,我得到了一个奇怪的错误

我的代码如下所示:

self.portfolio.number = self.portfolio.number - self.portfolio.number.min()
dataframe本身是类的成员数据-不确定这是否与问题相关(假设不是)

错误如下:

ValueError: Buffer has wrong number of dimensions (expected 1, got 0)

我在stack overflow上看到过两个类似的错误。我已经检查过该列没有重复,也没有重复。任何帮助都将不胜感激。

好的,我知道了。必须将我的代码更改为:

self.portfolio.loc[:, 'number'] = self.portfolio['number'].sub(self.portfolio['number'].min())

这是可行的,但我不知道为什么。如果有人能启发我,我将不胜感激。

如果这个答案看起来有点不对劲,如果您能提供更多关于正在进行的数据结构的信息,那将非常有帮助

然而,我相信这些东西会对你有用

import pandas as pd

data =  {'number': [42, 52, 36, 24, 73,4, 24, 31, 2, 3, 25, 94, 57, 62, 70]}
df = pd.DataFrame(data)

df['number'] - df['number'].min()

self.portfolio['number'].sub(self.portfolio['number'].min())
谢谢@ksooklall,成功了。你知道为什么我原来的路线不起作用吗?在我的代码中的其他地方工作得非常好抱歉,我错了,这实际上不起作用。
self
是您的pandas.DataFrame,还是在其他类声明中?列名称是什么,因为对于一个系列来说没有
number
属性,这是我理解代码的唯一方法。在这种情况下,最好发布一个小样本数据。“self”是指向类本身的指针;上述代码行位于类的函数中。dataframe“portfolio”是该类的成员数据。因此self.portfolio是数据帧,number是列名。希望这有帮助。