Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
Dataframe 如何根据数据帧中某些行与其他行的关系提取这些行_Dataframe_Loops - Fatal编程技术网

Dataframe 如何根据数据帧中某些行与其他行的关系提取这些行

Dataframe 如何根据数据帧中某些行与其他行的关系提取这些行,dataframe,loops,Dataframe,Loops,问题在于,由250万条记录组成的数据中存在一些错误。Col1表示累积质量,而col2表示增量。由于是累积质量,因此增量不能为-1。这就是简单数据的外观: ` d = {'col1': [10,11,11,11,10,10,10,11,11,12,12,12,16,16,15,15,15,16,16,17,17,16,16], 'col2': [0,1,0,0,-1,0,0,1,0,1,0,0,4,0,-1,0,0,1,0,1,0,-1,0]} df = pd.DataFrame(data=d)

问题在于,由250万条记录组成的数据中存在一些错误。Col1表示累积质量,而col2表示增量。由于是累积质量,因此增量不能为-1。这就是简单数据的外观:

` d = {'col1': [10,11,11,11,10,10,10,11,11,12,12,12,16,16,15,15,15,16,16,17,17,16,16], 'col2': [0,1,0,0,-1,0,0,1,0,1,0,0,4,0,-1,0,0,1,0,1,0,-1,0]} df = pd.DataFrame(data=d) df` ` d={'col1':[10,11,11,10,10,11,11,12,12,16,16,15,15,15,16,16,17,17,16,16], 'col2':[0,1,0,0,-1,0,0,1,0,1,0,0,4,0,-1,0,0,1,0,1,0,-1,0]} df=pd.DataFrame(数据=d) df`

例如,对于第五个元素,我可以看到值是10,而前一个是11。现在我想把col1的值从10改为11。问题是,我不知道如何写一个循环来检查零的位置,但是只有这个循环发生在-1之后。我认为有必要在下一步中找到它们的索引来更改col1中的masss值。或者,可以使用前一个值填充col1值,但仅当该值低于前一个值时?主要目的是什么纠正错误,使col2中的值不会低于0