У меня есть фрейм данных для поиска значений:
ruralw2 = [[0.1,0.3,0.5], [0.1,0.2,0.8], [0.1,0.2,0.7], [0.1,0,0.3]]
rw2 = pd.DataFrame(data=ruralw2, columns=['city','suburbs','rural'],index=['low','med','high','v-high'])
, а затем у меня есть другой фрейм данных, куда я хочу получить 'p 'значения, основанные на данных в кадре данных rw2:
df = pd.DataFrame(columns=['location','income','p'])
df['location'] = ['city','city','suburbs','rural','rural']
df['income'] = ['low','med','high','v-high','med']
Что я ожидаю, это:
Можно использовать для l oop, но это антипаттерн в Pandas, и я думаю, что должен быть лучший способ.
for i in np.arange(df.shape[0]):
df['p'][i] = rw2.loc[df['income'][i],df['location'][i]]
Другая возможность состоит в том, чтобы пишите очень долго np.where (... logi c, но это тоже не правильно и не будет очень масштабируемым.