Python 动态搜索与列表中的条件匹配的值

Python 动态搜索与列表中的条件匹配的值,python,pandas,Python,Pandas,我的数据如下所示: 我想要一个python函数,它以非连续的方式搜索值小于-1或大于1的日期。换句话说, 这应该会导致 1993年3月17日(值小于-1的日期), 1993年3月24日(值大于+1的日期) 1993年3月25日(值小于-1的日期) 1993年3月29日(值大于+1的日期) 1993年4月1日(值大于+1的日期) 例如,它应该跳过1993年3月18日,因为即使它的值(-1.3)小于-1,我们已经遇到了1993年3月17日的值小于-1 多谢各位 data = dict( a= 0.

我的数据如下所示:

我想要一个python函数,它以非连续的方式搜索值小于-1或大于1的日期。换句话说,

这应该会导致 1993年3月17日(值小于-1的日期), 1993年3月24日(值大于+1的日期) 1993年3月25日(值小于-1的日期) 1993年3月29日(值大于+1的日期) 1993年4月1日(值大于+1的日期)

例如,它应该跳过1993年3月18日,因为即使它的值(-1.3)小于-1,我们已经遇到了1993年3月17日的值小于-1

多谢各位

data = dict( a= 0.2, b= 0.3, c= -1.5, d= -1.3, e= 0.3, f= 0.2, g= 12, h= -1.2, i= -1.3, j= 1.4, k= 0.3)
neg = True
for (k,v) in data.items():
  if((neg and v<-1) or (not neg and v>1)):
    print(k)
    neg = not neg
逻辑与dict或数据帧相同,但请确保您的密钥已排序:

(pi6 637) $ cat /tmp/x.py
#! /usr/bin/env python
# -*- coding: UTF8 -*-

import pandas as pd

data = dict( a= 0.2, b= 0.3, c= -1.5, d= -1.3, e= 0.3, f= 0.2, g= 12, h= -1.2, i= -1.3, j= 1.4, k= 0.3)
df = pd.Series(data)

neg = True
for i,r in df.sort_index().iteritems():
  if((neg and r<-1) or (not neg and r>1)):
    print(i)
    neg = not neg

(pi6 638) $ /tmp/x.py
c
g
h
j
(pi6 637)$cat/tmp/x.py
#! /usr/bin/env python
#-*-编码:UTF8-*-
作为pd进口熊猫
数据=dict(a=0.2,b=0.3,c=-1.5,d=-1.3,e=0.3,f=0.2,g=12,h=-1.2,i=-1.3,j=1.4,k=0.3)
df=pd.系列(数据)
负=真
对于df.sort_index()中的i,r.iteritems():
如果((负和r1)):
印刷品(一)
负=非负
(PI6638)$/tmp/x.py
C
G
H
J
逻辑与dict或数据帧相同,但请确保您的密钥已排序:

(pi6 637) $ cat /tmp/x.py
#! /usr/bin/env python
# -*- coding: UTF8 -*-

import pandas as pd

data = dict( a= 0.2, b= 0.3, c= -1.5, d= -1.3, e= 0.3, f= 0.2, g= 12, h= -1.2, i= -1.3, j= 1.4, k= 0.3)
df = pd.Series(data)

neg = True
for i,r in df.sort_index().iteritems():
  if((neg and r<-1) or (not neg and r>1)):
    print(i)
    neg = not neg

(pi6 638) $ /tmp/x.py
c
g
h
j
(pi6 637)$cat/tmp/x.py
#! /usr/bin/env python
#-*-编码:UTF8-*-
作为pd进口熊猫
数据=dict(a=0.2,b=0.3,c=-1.5,d=-1.3,e=0.3,f=0.2,g=12,h=-1.2,i=-1.3,j=1.4,k=0.3)
df=pd.系列(数据)
负=真
对于df.sort_index()中的i,r.iteritems():
如果((负和r1)):
印刷品(一)
负=非负
(PI6638)$/tmp/x.py
C
G
H
J

我认为它适用于dictionary,但我们能为dataframe对象做同样的事情吗?我认为它适用于dictionary,但我们能为dataframe对象做同样的事情吗?