User Tools

Site Tools


extract_last_field_from_each_row_of_a_column

extract last field from each row of a column

tags | pandas series str split apply if condition, string split

Given the input

 'Location': {
  0: 'San Francisco, CA, United States',
  1: 'Shanghai, China',
  2: 'Singapore'}

get something like

 'Country': {
  0: 'United States',
  1: 'China',
  2: 'Singapore'}

Solution:

In [1]: d = {'Location': {
   ...:   0: 'San Francisco, CA, United States',
   ...:   1: 'Shanghai, China',
   ...:   2: 'Singapore'}}

In [2]: import pandas as pd
   ...: df = pd.DataFrame.from_dict(d)
   ...: df
Out[2]:
                           Location
0  San Francisco, CA, United States
1                   Shanghai, China
2                         Singapore

In [3]: df['Country'] = df['Location'].str.split(',').apply(lambda x: x[-1])
   ...: df
Out[3]:
                           Location         Country
0  San Francisco, CA, United States   United States
1                   Shanghai, China           China
2                         Singapore       Singapore

In [4]: df['Country'].to_dict()
Out[4]: {0: ' United States', 1: ' China', 2: 'Singapore'}
extract_last_field_from_each_row_of_a_column.txt · Last modified: 2023/01/23 16:42 by raju