Поскольку Broker
- это фрейм данных Pandas, вы можете использовать loc
с логическим индексированием, а затем использовать pd.Series.tolist
:
mask = Broker['prime_broker_id'] != 'DB'
patternCore = '|'.join(Broker.loc[mask, Broker['prime_broker_id']].tolist())
AБолее общее решение, которое работает с объектами, отличными от фреймов данных Pandas, заключается в использовании списочного понимания с условием if
:
patternCore = '|'.join([x for x in Broker['prime_broker_id'] if x != 'DB'])
Не возвращаясь к входным рядам, используя ту же идею, которую вы можете разделить ивоссоединение:
patternCore = 'CITI|CS|DB|JPM|ML'
patternCore = '|'.join([x for x in patternCore.split('|') if x != 'DB'])
Вы должны ожидать, что последний вариант будет дорогостоящим, поскольку ваш алгоритм требует чтения каждого символа во входной строке.