【问题标题】:A pythonic way to find all indexes of one sequence in the other one? [duplicate]一种在另一个序列中查找一个序列的所有索引的pythonic方法? [复制]
【发布时间】:2018-11-30 16:55:15
【问题描述】:

给定两个列表 f=['a','b','c','d']g=['a','c'],我可以生成 [0,2]=indexes(f,g)

def indexes(f,g):
    return [f.index(x) for x in g]

有没有更好的方法?

动机: 对于numpy矩阵X,我想提取一些列,所以我想用X[:,indexes(f,g)]替换pd.DataFrame(X,columns=f)[g].values

【问题讨论】:

    标签: python pandas numpy


    【解决方案1】:

    您可以在np.1d 之后使用np.where 来获取相交索引:

    np.where(np.in1d(f,g))
    (array([0, 2], dtype=int64),)
    

    【讨论】:

      猜你喜欢
      • 2014-12-21
      • 2012-01-10
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2018-04-06
      • 2022-11-03
      • 2017-10-04
      • 2015-07-06
      相关资源
      最近更新 更多