【问题标题】:Finding the occurrence and position of a character in python在python中查找字符的出现和位置
【发布时间】:2016-08-31 16:06:32
【问题描述】:

我有一个带 id 的变量 (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。有没有替代方法?

【问题讨论】:

    标签: python pandas position np find-occurrences


    【解决方案1】:

    获取索引值

    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))]
    

    【讨论】:

    • 谢谢.. 但它给了我最后一个'Z'的位置。我想要上述数据中的第 12 位和第 25 位。目前它正在返回 25
    • 谢谢.. 真的很有帮助!!
    猜你喜欢
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多