Удаление большого количества идентификаторов из большого кадра данных занимает много времени.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Удаление большого количества идентификаторов из большого кадра данных занимает много времени.

Сообщение Anonymous »

У меня есть два кадра данных df1 и df2

Код: Выделить всё

print(df1.shape)
(1042009, 40)

print(df1.columns)
Index(['date_acte', 'transaction_id', 'amount', ...],
dtype='object')

print(df2.shape)
(734738, 37)

print(df2.columns)
Index(['date', 'transaction_id', 'amount', ...],
dtype='object')
Я хотел бы удалить уникальный идентификатор транзакции в df2 из df1 и сохранить остальное.
Я сделал следующее:

Код: Выделить всё

Filtre = list(df2.transaction_id.unique())
print(len(Filtre))
733465

noMatched = df1.loc[
(~df1['transaction_id'].str.contains('|'.join(Filtre), case=False, na=False))]
Моя проблема в том, что подготовка вывода noMatched занимает почти 5 часов. Интересно, есть ли более эффективный способ написать этот фрагмент кода. Можно ли получить результат менее чем за 5 часов?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -long-time
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»