У меня есть фрейм данных с именем столбца в форме ['A', 'B', 'C', A ',' B ',' B '....] и набором массивов:один соответствует 'A', скажем array_A = [0, 1, 2 ...] и array_B = [3, 1, 0 ...], array_C и т. д ... Я хочу создать новый столбец 'value' с помощьюприсваивание array_A, где имя строки в кадре данных равно 'A', и аналогично для 'B' и 'C'.
Функция df['value']=np.where(df['name']=='A',array_A, df['value'])
не будет этого делать, поскольку она перезапишет значения для других именили проблемы с размерностью.
Например:
arrays = {'A': np.array([0, 1, 2]),
'B': np.array([3, 1])}
Желаемый результат:
df = pd.DataFrame({'name': ['A', 'B', 'A', 'A', 'B']})
name value
0 A 0
1 B 3
2 A 1
3 A 2
4 B 1