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'
为负值的所有索引,然后根据这些索引对列进行切片。