[英]Pandas | Compare two CSV files and return matches
所以基本上我試圖比較兩個 CSV 文件並返回匹配項。
CSV1:包含關鍵字列表。
keywords
Apple
Banana
Orange
CSV2:包含隨機內容。
content
I like Apples
Banana is my favorite Fruit
Strawberry Smoothies are the best
如果我像這樣在代碼中包含關鍵字......我會得到一個不錯的結果。
import pandas as pd
df = pd.read_csv('CSV1.csv')
result = df[df.content.str.contains('Apple|Banana|Orange')]
由於關鍵字文件越來越大。 我正在尋找一種從 csv 中提取關鍵字並檢查匹配項的方法,而不是將所有關鍵字放入代碼中。
您可以通過使用 pandas isin() 函數( https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.isin.html )來做到這一點
偽代碼是:
# put the csv1's list to lower case
list_csv1 = [i.lower() for i in list_csv1]
# use the isin() function
# again, put the content to lower case
result = df[df.content.str.lower().isin(list_csv1)]
將所有內容都置於小寫並不是強制性的,但這是規范數據和防止丟失的好方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.