[英]Pandas: replace values in column
I have df and I want to replace values there 我有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
if string from df
contain string from df2
I want to replace it to string from df2
如果df
中的字符串包含df2
中的字符串,我想将其替换为df2
字符串
visits
aliexpress.com
ozon.ru
wildberries.ru
lamoda.ru
mvideo.ru
eldorado.ru
ulmart.ru
ebay.com
kupivip.ru
Desire output 需求输出
url
aliexpress.com
aliexpress.com
aliexpress.com
aliexpress.com
aliexpress.com
aliexpress.com
aliexpress.com
aliexpress.com
kupivip.ru
I try df[df['url'].isin(df2['visits'])]
but it return Empty DataFrame
. 我尝试df[df['url'].isin(df2['visits'])]
但它返回Empty DataFrame
。
You can extract
joined list with |
您可以使用|
extract
联接列表|
(regex or
) from column visits
by tolist
: (正则表达式or
)来自tolist
列visits
:
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.