I have the following texts in a df column:
JavaScript
x
11
11
1
La Palma
2
La Palma Nueva
3
La Palma, Nueva Concepcion
4
El Estor
5
El Estor Nuevo
6
Nuevo Leon
7
San Jose
8
La Paz Colombia
9
Mexico Distrito Federal
10
El Estor, Nuevo Lugar
11
What I need is to add a comma at the end of each row but the condition that it is only two words. I found a partial solution:
JavaScript
1
2
1
df['Column3'] = df['Column3'].apply(lambda x: str(x)+',')
2
(solution found in stackoverflow)
Advertisement
Answer
Given:
JavaScript
1
12
12
1
words
2
0 La Palma
3
1 La Palma Nueva
4
2 La Palma, Nueva Concepcion
5
3 El Estor
6
4 El Estor Nuevo
7
5 Nuevo Leon
8
6 San Jose
9
7 La Paz Colombia
10
8 Mexico Distrito Federal
11
9 El Estor, Nuevo Lugar
12
Doing:
JavaScript
1
3
1
df.words = df.words.apply(lambda x: x+',' if len(x.split(' ')) == 2 else x)
2
print(df)
3
Outputs:
JavaScript
1
12
12
1
words
2
0 La Palma,
3
1 La Palma Nueva
4
2 La Palma, Nueva Concepcion
5
3 El Estor,
6
4 El Estor Nuevo
7
5 Nuevo Leon,
8
6 San Jose,
9
7 La Paz Colombia
10
8 Mexico Distrito Federal
11
9 El Estor, Nuevo Lugar
12