pandas - 查找列值相等的 pandas datafrmae 的最小索引
问题描述
data = """
id,name
100,A
100,B
101,C
101,D
101,pp;
212,E
212,F
215,ds
215,G
215,trtr
219, dsds
219, sas
219, dasa
300,Endüstrisi`
"""
df = pd.read_csv(StringIO(data))
df = pd.concat([df]*5)
我有上面的数据框,我得到了一个 numpy 的 id 数组ids = np.array([100,212,219])
我想获取第ids
一个出现的原始数据框的索引df
我曾想过将 isin 函数与 indxmin 一起使用,但不幸的是,它不起作用。
我的输出应该是np.array([0,5,10])
解决方案
尝试drop_duplicates
s = df.drop_duplicates('id')
out = s[s['id'].isin(ids)].index.values
Out[168]: array([ 0, 5, 10], dtype=int64)