我有一个带有索引的2d(将来可能是3d)数组。假设它看起来像这样:
[[1,1,1],
[1,2,2],
[2,2,3]]
我有一个熊猫数据框:
index, A, B
1, 0.1, 0.01
2, 0.2, 0.02
3, 0,3, 0.03
我想获得一个numpy数组(或pandas df),其值来自A列,并基于numpy数组进行切片。因此结果将在这里:
[[0.1,0.1,0.1],
[0.1,0.2,0.2],
[0.2,0.2,0.3]]
我可以通过循环来获取熊猫数据框:
pd.DataFrame(df.A[val].values for val in array)
但是,我正在寻找更有效的方法。有没有更好的方法可以让我一次使用整个索引数组?
你可以做:
df.loc[a.ravel(),'A'].values.reshape(a.shape)
输出:
array([[0.1, 0.1, 0.1],
[0.1, 0.2, 0.2],
[0.2, 0.2, 0.3]])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句