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

Python 如何根据条件将数据帧中的一列切片为多个系列

Python 如何根据条件将数据帧中的一列切片为多个系列,python,pandas,loops,dataframe,slice,Python,Pandas,Loops,Dataframe,Slice,我有一个如下所示的数据框: 'A' diff('A') 0 1 NaN 1 2 1 2 5 3 3 2 -3 4 4 2 5 6 2 6 1 -5 7 7 6 8 9 2 'B' 0 1 1 2 2 5 'C' 0 2 1

我有一个如下所示的数据框:

       'A' diff('A')
    0   1    NaN
    1   2     1
    2   5     3
    3   2    -3
    4   4     2
    5   6     2
    6   1    -5
    7   7     6
    8   9     2
       'B'
    0   1
    1   2
    2   5

       'C'
    0   2
    1   4
    2   6

       'D'
    0   1
    1   7
    2   9
我想得到的是这样的东西:

       'A' diff('A')
    0   1    NaN
    1   2     1
    2   5     3
    3   2    -3
    4   4     2
    5   6     2
    6   1    -5
    7   7     6
    8   9     2
       'B'
    0   1
    1   2
    2   5

       'C'
    0   2
    1   4
    2   6

       'D'
    0   1
    1   7
    2   9
我想把
'A'
列分成几个新列;对原始列进行切片的条件是列
diff('A')
上的值为负值。我认为迭代器应该遍历数据帧,每当它在
diff('a')
中遇到负值时,它应该对列进行切片并将其传递给一个系列,然后继续,直到它到达列的末尾

有人有什么想法吗


提前谢谢

我相信您的想法很管用,但使用pandas内置选择器会更有效:

decreased_value = df[df['diff'] < 0]['A'].reset_index(drop=True)

减小的_值=df[df['diff']<0]['A']。重置_索引(drop=True)

那么你想要一个包含该系列的列表吗?这可能很有用,但不是我想到的中心思想;我正在寻找一种方法,在满足条件的情况下将一列分割成几个系列;谢谢我能做的就是收集
'diff'
为负值的所有索引,然后根据这些索引对列进行切片。