试图在另一个分类变量之前找到有多少特定分类变量

时间:2017-10-23 22:08:41

标签: python pandas

数据:

       event_date event
99652  2014-06-11    DX
2533   2014-08-01    DX
2534   2014-08-01    RX
0      2014-12-11    DX
293494 2015-06-16    RX
2020   2015-08-04    DX
2021   2015-08-04    RX
99653  2015-08-04    DX
1      2015-12-14    DX

如您所见,数据从最旧到最新排序。我想知道的是在第一个RX之前发生了多少个DX。

不确定如何以有效的方式执行此操作。

编辑:我应该提到我们需要检查第一个值是否不是DX。

2 个答案:

答案 0 :(得分:3)

鉴于数据已订购,

df.reset_index().event.eq('RX').idxmax()

打印

2

选项2(快得多):

(df.event != 'RX').cumprod().sum()

编辑:根据更新,

(df.event == 'DX').cumprod().sum()

答案 1 :(得分:0)

结束搞清楚:

count = 0
for i in test.index.values:
    if (test.loc[test.index.values[0],"event"] in ("NonVertFX", "VertFX", "PX", "RX")):
        count = -1
        print("first value is not DX")
        break

    if (test.loc[i,"event"] == "RX"):
        break
    count += 1
print(count)