Панды, где столбец нулевой, затем заменить на столбец A, в противном случае используйте столбец B - PullRequest
2 голосов
/ 03 октября 2019

Есть ли способ сделать следующую логику (и), где условие без использования numpy?

В настоящее время я делаю ниже, и хотел бы попробовать альтернативные методы.

Сначала я объединяю два кадра данных, затем создаю логику условия where.

final = pd.merge(combineQueryandBookFiltered,u1, left_on = ['positionId'], right_on = ['Position_ID'], how = 'outer')
final['pnlValue'] = np.where(final.Unif_MTM_USD.isnull(),final.pnlValue, final.Unif_MTM_USD) 
final['Unif_CUSIP'] = np.where(final.Unif_CUSIP.notnull(),final.cusip,final.Unif_CUSIP)    
final['Unif_ISIN'] = np.where(final.Unif_ISIN.notnull(),final.isin,final.Unif_ISIN)  

Любая помощь будет принята.

1 Ответ

1 голос
/ 03 октября 2019

Например, для первого столбца:

final['pnlValue'] = final['Unif_MTM_USD'].combine_first(final['pnlValue'])

Он принимает значение серии вызывающих абонентов, а если это na, то он использует значение в другом столбце

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...