根据索引向量替换数组的值

时间:2020-03-31 18:10:22

标签: python numpy

我有一个值数组和一个索引数组。我想使用索引来生成一个具有相同大小的数组,其值对应于第一个数组的索引:

vals = np.array([.2,.3])
ind = np.array([0,0,1,0])

预期结果:

np.array([.2,.2,.3,.2])

2 个答案:

答案 0 :(得分:1)

您可以只用索引数组对值数组进行索引,因为它们是整数(索引所需):

array([0.2, 0.2, 0.3, 0.2])

产生:

res=[]
for col in df.columns:
    if(df[col].dtype==object):
        dftemp=df[col].fillna("  ").str.replace(r"[^\s]", "").str.len()
        dftemp=dftemp.eq(2).all()
        if(dftemp): res.append(col)

print(res)

根据需要。

答案 1 :(得分:0)

不确定这是否是NumPy的最佳做法,但是您可以这样做:

[vals[i] for i in ind]
new_vals = np.array([vals[i] for i in ind])