Python Panda str.contiene() con collegamenti ipertestuali a righe

0

Domanda

Ho due panda dataframes in questo modo:

df1

sito link
retailer_site1 https://www.retailer_site1.com
... ...
retailer_siteX https://www.retailer_siteX.com

df2

sito link
retailer_site1 https://www.retailer_site1.com
... ...
retailer_siteY https://www.retailer_siteY.com

Quindi voglio passare attraverso df2 e trovare le istanze dei link da df2 in df1. Ecco il mio codice:

    for row in df2['link'].astype(str):
        boolean_findings = df1['link'].str.contains(row)

Quando si stampa boolean_findings, sto diventando tutto falso, che so che non può essere vero perché sto vedendo le partite in locale sul mio file excel:

boolean_findings
False
False
...
False

Quello che voglio sapere è perché il collegamento ipertestuale stringa di testo è quello di non essere abbinati con il suo equivalente al primo df, e cosa posso fare per abbinare i siti.

dataframe hyperlink pandas python
2021-10-22 22:50:57
1

Migliore risposta

1

"Ho dato un'occhiata e ho notato che alcuni siti web hanno un ( e ) incluso nel loro link, che potrebbe essere buttare fuori i collegamenti

Sembra che avete bisogno di solo account per alfanumerici/sottolineatura caratteri quando si confrontano i collegamenti, è possibile utilizzare

df2["link"].str.replace(r'\W+','', regex=True).isin(
    df1["link"].str.replace(r'\W+','', regex=True))

Il .str.replace(r'\W+','', regex=True) parte rimuove tutti i caratteri che non siano lettere, segni diacritici, le cifre e il connettore di punteggiatura (più comune char è un carattere di sottolineatura tra di loro) dal link.

2021-10-23 10:27:53

Ho ottenuto il seguente errore per la regex nel sostituire: TypeError: replace() takes no keyword arguments. Quando ho tolto le regex=Truenon un errore, ma non la sostituisce sia. Penso che un aspetto in re modulo per ordinare questo, ma grazie per avermi messo sulla strada giusta!
G H

@GH assicurarsi di utilizzare l'ultima Panda versione. pip install -U pandas. Questo codice è stato testato contro i tuoi dati e dimostrato di funzionare.
Wiktor Stribiżew

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................