'Create python function from script
Struggling to get this code to work as a function. It needs to separate values within a particular field which contains + symbols and create a new row which has all the same data as the original.
data = {"GUI":[1005],"HAB_TYPE":["A5.37+A5.37"]}
surveyMaps = pd.DataFrame(data)
After running the function the output should look something like:
surveyMapsOutput = {"GUI":[1005,1005],"HAB_TYPE":["A5.37","A5.37"]}
It works when it exists in the script like so:
surveyMapsOutput = surveyMaps.drop('HAB_TYPE', axis=1) \
          .join(surveyMaps['HAB_TYPE']
          .str
          .split('+', expand=True)
          .stack()
          .reset_index(level=1, drop=True).rename('HAB_TYPE')) \
    .reset_index(drop=True)
This is my attempt at creating a function to do the same job:
def split_mosaic(input_data):
"""function which splits mosaic codes into individual habitats codes """
    survey_output = input_data
    survey_output.drop('HAB_TYPE', axis=1) \
        .join(survey_output['HAB_TYPE']
              .str
              .split('+', expand=True)
              .stack()
              .reset_index(level=1, drop=True).rename('HAB_TYPE')) \
        .reset_index(drop=True)
    return survey_output
when trying to call the function I do
surveyMapOutput= split_mosaic(surveysMaps)
However this does not remove the + sign as it does with the first example of the code. Any advice?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|
