Ways to apply LEFT, RIGHT, MID in Pandas
Many times we need to extract specific characters present within a string in Pandas data frame. In order to solve this issue, we have concept of Left, Right, and Mid in pandas.
Example 1: Extract Characters From the Left
Python3
import pandas as pd
Cars = [ '1000-BMW' , '2000-Audi' , '3000-Volkswagen' ,
'4000-Datsun' , '5000-Toyota' , '6000-Maruti Suzuki' ]
df = pd.DataFrame(Cars, columns = [ 'Model_name' ])
Left = df[ 'Model_name' ]. str [: 4 ]
print (Left)
|
Output :
0 1000
1 2000
2 3000
3 4000
4 5000
5 6000
Name: Model_name, dtype: object
Example 2: Extract Characters From the Right
Python3
import pandas as pd
Cars = [ 'ID-11111-BMW' , 'ID-22222-Volkswagen' ,
'ID-33333-Toyota' , 'ID-44444-Hyundai ' ,
'ID-55555-Datsun' , 'ID-66666-Mercedes' ]
df = pd.DataFrame(Cars, columns = [ 'Model_name' ])
Right = df[ 'Model_name' ]. str [ 4 : 8 ]
print (Right)
|
Output :
0 11111
1 22222
2 33333
3 44444
4 55555
5 66666
Name: Model_name, dtype: object
Example 3: Extract Characters From the Middle
Python3
import pandas as pd
Cars = [ 'ID-11111-BMW' , 'ID-22222-Volkswagen' ,
'ID-33333-Toyota' , 'ID-44444-Hyundai ' ,
'ID-55555-Datsun' , 'ID-66666-Mercedes' ]
df = pd.DataFrame(Cars, columns = [ 'Model_name' ])
Mid = df[ 'Model_name' ]. str [ 4 : 8 ]
print (Mid)
|
Output :
0 1111
1 2222
2 3333
3 4444
4 5555
5 6666
Name: Model_name, dtype: object
Example 4 : Before a symbol using str.split() function
Python3
import pandas as pd
Cars = [ '1000-BMW' , '2000-Audi' ,
'3000-Volkswagen' , '4000-Datsun' ,
'5000-Toyota' , '6000-Maruti Suzuki' ]
df = pd.DataFrame(Cars, columns = [ 'Model_name' ])
Before_symbol = df[ 'Model_name' ]. str .split( '-' ). str [ 0 ]
print (Before_symbol)
|
Output :
0 1000
1 2000
2 3000
3 4000
4 5000
5 6000
Name: Model_name, dtype: object
Example 5 : Between identical symbols using str.split() function
Python3
import pandas as pd
Cars = [ 'M3-1906-BMW' , 'M5-2096-Audi' ,
'M11-3096-Volkswagen' , 'M9-4096-Datsun' ,
'M8-5096-Toyota' , 'M23-6096-Maruti Suzuki' ]
df = pd.DataFrame(Cars, columns = [ 'Model_name' ])
BetweenTwoSymbols = df[ 'Model_name' ]. str .split( '-' ). str [ 1 ]
print (BetweenTwoSymbols)
|
Output :
0 1906
1 2096
2 3096
3 4096
4 5096
5 6096
Name: Model_name, dtype: object
Last Updated :
28 Jul, 2020
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...