在另一个序列中查找一个序列的所有索引的pythonic方法?

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

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

有没有更好的办法?

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


MMMHUHU
浏览 175回答 1
1回答

动漫人物

您可以使用np.whereafter np.1d来获取交叉索引:np.where(np.in1d(f,g)) (array([0, 2], dtype=int64),)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python