我有这样一个系列:
test = pd.Series([2.4,5.6,8.8,25.6,53.6,1.7,5.7,8.9])
我想在下一个数字小于前一个数字的地方将它分成两个系列。这在任何系列中只发生一次,但不会发生在可靠的位置(可能是第 7 名、第 4 名等)。
结果应该是这样的:
test1
2.4
5.6
8.8
25.6
53.6
和
test2
1.7
5.7
8.9
最佳答案
你可以找到位置
pos = (test - test.shift(-1)).argmax()
现在系列直到那是
>>> test[: pos + 1]
0 2.4
1 5.6
2 8.8
3 25.6
4 53.6
dtype: float64
同理,余数为
>>> test[pos + 1: ]
5 1.7
6 5.7
7 8.9
dtype: float64
关于python - 当数字小于前一个数字时拆分数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50242276/