Расчетный столбец на основе нескольких столбцов - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь создать новый столбец в моем фрейме данных pandas на основе построчных значений в других столбцах.

Я пытался использовать метод apply, но не до конца понимаю, как он работает.

df = pd.DataFrame(data=['A', 'B', 'A'], columns=['Brand'])
Parameters = {'A': [0.3, 0.4], 'B': [0.1, 0.2]}

df['BrandMonthAdj1'] = df.apply(lambda x: Parameters[x['Brand']][0])

Я ожидал, что это вернет столбец с 0,3 для первой и третьей строки. и 0,1 для второго ряда. Однако я получаю следующую ошибку, которую я не понимаю:

KeyError: ('Brand', u'occurred at index Brand')

1 Ответ

3 голосов
/ 08 июля 2019

Используя map, затем str ломтик

df.Brand.map(Parameters).str[0]
Out[11]: 
0    0.3
1    0.1
2    0.3
Name: Brand, dtype: float64
df['BrandMonthAdj1'] = df.Brand.map(Parameters).str[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...