Используя pandas, как мне превратить один столбец файла csv в список, а затем отфильтровать другой csv с помощью созданного списка?

#python #pandas #list #csv #filter

#python #pandas #Список #csv #Фильтр

Вопрос:

В принципе, у меня есть один csv-файл под названием «Leads.csv», и он содержит все уже имеющиеся у нас данные о продажах. Я хочу превратить этот столбец csv «Лиды» в список, а затем проверить csv-файл «Отчет», чтобы увидеть, есть ли там какие-либо лиды, а затем отфильтровать его.

Вот что я пробовал:

 import pandas as pd
df_leads = pd.read_csv('Leads.csv')
leads_list = df_leads['Leads'].values.tolist()



df = pd.read_csv('Report.csv')
df = df.loc[(~df['Leads'].isin(leads_list))]
df.to_csv('Filtered Report.csv', index=False)
 

Любая помощь очень ценится!

Комментарии:

1. Ваш код частично избыточен, но корректен. В чем ваш вопрос?

Ответ №1:

Вы можете попробовать:

 import pandas as pd 

df_leads = pd.read_csv('Leads.csv')
df = pd.read_csv('Report.csv')
set_filtered = set(df['Leads'])-(set(df_leads['Leads']))
df_filtered = df[df['Leads'].isin(set_filtered)]
 

Примечание: наборы, значительно быстрее, чем списки для этой операции.