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

Python 可以用熊猫做吗?

Python 可以用熊猫做吗?,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个数据框,它的列名是“c”,看起来像这样 df.c = -2 , -3.66, -7, 1 ,-3, 5, -4.66 ,-2, 9, -1, -7, -5.7, 3 , -5 在不改变行的顺序的情况下,我希望找到从峰值到新峰值的最大下降 例如,为了得到5,下降的总和为(-4.66)+(-2),即-6.66,直到达到新的峰值,即,在这种情况下,为9,为得到9的下降为 -1+-7+-5.7+-5=-18.7,正如你所看到的,在这个加法中我没有考虑3,因为它是正的 因此,我要寻找

我有一个数据框,它的列名是“c”,看起来像这样

df.c  = -2 , -3.66,  -7, 1 ,-3,  5,  -4.66 ,-2,  9, -1,  -7, -5.7, 3 , -5
在不改变行的顺序的情况下,我希望找到从峰值到新峰值的最大下降

例如,为了得到5,下降的总和为(-4.66)+(-2),即-6.66,直到达到新的峰值,即,在这种情况下,为9,为得到9的下降为

-1+-7+-5.7+-5=-18.7,正如你所看到的,在这个加法中我没有考虑3,因为它是正的


因此,我要寻找的答案是-18.7

您只需遍历序列即可获得最大压降:

def FindMaxDrop:
峰值=-2147483648
下降=0
ans=0
对于s中的num:
如果num>峰值:
ans=最小值(ans,下降)
下降=0
峰值=num
如果num<0:
drop=drop+num
ans=最小值(ans,下降)
返回ans
FindMaxDrop(df.c)

您能包括您迄今为止尝试过的内容吗?还有一个更详细的描述,你认为max下降将是有益的,这有点混乱。为什么在最后一种情况下3不被视为新的峰值?是因为它不高于上一个峰值吗?为什么3没有被认为是一个新的峰值,因为它小于9。所以通常我们把较高的值作为一个峰值,一个峰值通常有一个突出部分