Поиск переменной Python на основе динамических столбцов в строке - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть два следующих фрейма данных:

Ticker | Fund  | PB1  | PB2   | PB3   | PB4
KMX    | Bob   | BAML | GS    | MACQ  | HSBC
TEX    | Jon   | JPM  | UBS   |
ARC    | Pat   | JPM  | UBS   | CITI  | WF


Ticker  | Rate  | PB
KMX     |-2     | GS
TEX     |-5     | JPM
TEX     |-3     | UBS 
ARC     |-10    | WF 

В конечном итоге мне нужно заменить PB в кадре данных 1 на скорость, предложенную PB На основании приведенного выше примера - кадр данных будетвыглядит как

Ticker | Fund  | PB1  | PB2   | PB3   | PB4
KMX    | Bob   |      | -2    |       | 
TEX    | Jon   | -5   | -3    |
ARC    | Pat   |      |       |       | -10

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

Я пытался использовать слияние, но не могу понять, куда идти.

loadin=Trade_options_final.merge(Total, how='left', on=[])

1 Ответ

0 голосов
/ 20 февраля 2019

Хороший вопрос, сначала вам может понадобиться melt, затем merge, затем pivot, обратно

yourdf=df.melt(['Ticker','Fund']).\
          merge(df1.rename(columns={'PB':'value'}),how='left').\
          fillna('').\
          pivot_table(index=['Ticker','Fund'],columns='variable',values='Rate',aggfunc='first').\
          reset_index()
yourdf                                                                                                       
Out[508]: 
variable Ticker Fund PB1 PB2 PB3 PB4
0           ARC  Pat             -10
1           KMX  Bob      -2        
2           TEX  Jon  -5  -3  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...