在python中查找字符的出现和位置

时间:2016-08-31 16:06:33

标签: python pandas position np find-occurrences

我有一个带有ids的变量(var) 我有兴趣找出最后一次出现Z的位置

我试图将它转换为具有位置

的数组
    zf1=np.where(df2['Var']=="Z")

这将给我结果

    (array([4,5,6,7,8,9,10,11,12,22,23,24,25],dtype=int64),)

我的想法是找到这些值的差异并查找-1 - 我使用此-1的索引值在其旁边添加id

    np.diff(zf1)


    Var              ID
    A
    B
    C
    Z
    Z
    Z
    Z
    Z
    Z
    Z
    Z
    Z          1
    X
    X
    X
    X
    X
    X
    B
    A
    C
    Z
    Z
    Z
    Z           2

np.diff不给我-1。还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

获取索引值

df2.index[df2.Var.eq('Z') & df2.Var.ne(df2.Var.shift(-1))]

过滤df2

df2[df2.Var.eq('Z') & df2.Var.ne(df2.Var.shift(-1))]