簡體   English   中英

熊貓:替換列中的值

[英]Pandas: replace values in column

我有df,我想在那里替換值

df = pd.read_csv('visits_april.csv')

df1 = pd.read_csv('participants.csv')`

url, date
aliexpress.com/payment/payment-result.htm...  2016-04-30 22:57:41   
shoppingcart.aliexpress.com/order/confirm_orde...  2016-04-30 23:05:21   
shoppingcart.aliexpress.com/order/confirm_orde...  2016-04-30 23:05:33   
shoppingcart.aliexpress.com/order/confirm_orde...  2016-04-30 23:11:37   
aliexpress.com/payment/payment-result.htm...  2016-04-30 23:12:07   
shoppingcart.aliexpress.com/order/confirm_orde...  2016-04-30 23:15:31   
shoppingcart.aliexpress.com/order/confirm_orde...  2016-04-30 23:15:37   
aliexpress.com/payment/payment-result.htm...  2016-04-30 23:16:13   
            kupivip.ru/shop/checkout/confirmation  2016-04-30 23:18:15

如果df中的字符串包含df2中的字符串,我想將其替換為df2字符串

visits
aliexpress.com
ozon.ru
wildberries.ru
lamoda.ru
mvideo.ru
eldorado.ru
ulmart.ru
ebay.com
kupivip.ru

需求輸出

url
aliexpress.com
aliexpress.com
aliexpress.com
aliexpress.com
aliexpress.com
aliexpress.com
aliexpress.com
aliexpress.com
kupivip.ru

我嘗試df[df['url'].isin(df2['visits'])]但它返回Empty DataFrame

您可以使用| extract聯接列表| (正則表達式or )來自tolistvisits

L = df2.visits.tolist()
print (L)
['aliexpress.com', 'ozon.ru', 'wildberries.ru', 'lamoda.ru', 
'mvideo.ru', 'eldorado.ru', 'ulmart.ru', 'ebay.com', 'kupivip.ru']

print (df.url.str.extract('(' + '|'.join(L) + ')', expand=False))
0    aliexpress.com
1    aliexpress.com
2    aliexpress.com
3    aliexpress.com
4    aliexpress.com
5    aliexpress.com
6    aliexpress.com
7    aliexpress.com
8        kupivip.ru
Name: url, dtype: object

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM