我有这样的DataFrame:
RTD I
BA 32
CA 25
BA 22
CA 45
NA 69
BA 75
BA 28
VE 30
BA 13
BA 11
首先:
Test= (df.where(df.query('I>0 & RTD =="BA"')).dropna())
获得新数据帧后,没有Nan值,如下所示:
RTD I
BA 32
BA 22
BA 75
BA 28
BA 13
BA 11
好。数字32存在于第一位置。如果我问:在第一次出现之后,数据帧中缺少数字32多长时间?答案应该是:5次。你怎么用pandas做什么?
我试过这样做:
len(df.loc[Test.last_valid_index():]) - 1
但它不起作用
本质上:如何在执行查询的数据框上执行附加命令,而不保存(例如" csv")新数据帧并对其执行操作?
答案 0 :(得分:0)
IIUC你可以这样做:
In [76]: x
Out[76]:
RTD I
0 BA 32
2 BA 22
5 BA 75
6 BA 28
8 BA 32 # <-- NOTE: i have intentionally set it to `32`
9 BA 11
In [77]: len(x) - np.argwhere(x.I==32).max() - 1
Out[77]: 1
In [78]: len(x) - np.argwhere(x.I==32).min() - 1
Out[78]: 5