Python Forum
substring function to create new column
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
substring function to create new column
#7
I would solve the problem as follows:

import pandas as pd
data = {'id': ['aa11bc', 'bb22cd', 'cc33ef', 'dd44gh', 'ee55ij','ff66kl','gg77mn','hh88op'], 
        'direction': ["north, south, east, west", "north, south, east, west", "north, south, east, west", "north, south, east, west",
                      "north, south, east, west","north, south, east, west","north, south, east, west"
                     ,"north, south, east, west"]}
df = pd.DataFrame(data, columns = ['id','direction'])

def get_direction(row):
    mapper = {'%s%s' % (a, n): k // 2 for k, (a, n) in enumerate(zip('abcdefgh', '12345678'))}
    index = mapper.get(row['id'][1:3].lower())
    if index is not None:
        return row['direction'].split(',')[index]

df['position'] = df.apply(get_direction, axis=1)
However, direction column doesn't change, this probably can be used to get completely vectorized solution of the problem,
which would be faster.
Reply


Messages In This Thread
RE: substring function to create new column - by scidam - Feb-14-2020, 10:11 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Create a function vector Cooketaker 4 1,006 Dec-27-2022, 08:22 PM
Last Post: Cooketaker
  Filter data based on a value from another dataframe column and create a file using lo pawanmtm 1 4,302 Jul-15-2020, 06:20 PM
Last Post: pawanmtm
  How to create a random library for an specific function andre_fermart 4 3,351 Apr-10-2019, 11:02 PM
Last Post: andre_fermart
  Create selection box to pass string value based on uniques in Excel column sneakysnek 1 2,513 Nov-18-2018, 07:29 PM
Last Post: Stefanovietch

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020