我有一些数字的二维numpy数组,还有两列的df。我需要根据df中的旧标签对/新标签对替换2D数组中的所有数字。我该怎么办?
np.random.randint(15, size = (2,100))
df = pd.DataFrame({ 'old labels' : range(0,15 ,1),
'new labels' : random.sample(range(0,15), 15)})
答案 0 :(得分:0)
在给定的条件下
arr = np.random.randint(15, size = (2,100))
df = pd.DataFrame({ 'old labels' : range(0,15 ,1),
'new labels' : random.sample(range(0,15), 15)})
假设我们只有两个维度。
d = df['new labels'].to_dict()
arr = np.array([d[x] for y in arr.tolist() for x in y]).reshape(arr.shape)
答案 1 :(得分:0)
这只是一个映射。使用numpy技巧和效率:
data= np.random.randint(15, size = (2,100))
map= df['new labels'].values
result = map[data]