Skip to content Skip to sidebar Skip to footer

Skipping Empty List And Continuing With Function

Background import pandas as pd Names = [list(['Jon', 'Smith', 'jon', 'John']), list([]), list(['Bob', 'bobby', 'Bobs'])] df = pd.DataFrame({'Text'

Solution 1:

Locate the rows which do not have an empty list and use your replace method only on those rows:

# Boolean indexing the rows which do not have an empty list
m = df['P_Name'].str.len().ne(0)

df.loc[m, 'New'] = df.loc[m, 'Text'].replace(df.loc[m].P_Name,'**BLOCK**',regex=True)  

Output

                                        Text  P_ID                   P_Name                                                  New
0     Jon J Smith is Here and jon John from      1[Jon, Smith, jon, John]  **BLOCK** J **BLOCK** is Here and **BLOCK** **BLOCK** from 
1                                       Test     2[]                                                  NaN
2I like Bob and bobby and also Bobs diner      3[Bob, bobby, Bobs]I like **BLOCK** and **BLOCK** and also **BLOCK**s diner 

Post a Comment for "Skipping Empty List And Continuing With Function"