1 | initial version |
You can use a combination of the .apply() and .startswith() methods to achieve this. Here's an example:
import pandas as pd
# create sample dataframe
df = pd.DataFrame({'fruit': ['apple', 'banana', 'kiwi', 'orange', 'pear'],
'color': ['red', 'yellow', 'brown', 'orange', 'green']})
# define function to substitute strings
def replace_fruit_color(row):
if row['fruit'].startswith('a'):
return 'red'
elif row['fruit'].startswith('b'):
return 'yellow'
else:
return row['color']
# apply function to 'color' column and create new column with results
df['new_color'] = df.apply(replace_fruit_color, axis=1)
# display updated dataframe
print(df)
This will output:
fruit color new_color
0 apple red red
1 banana yellow yellow
2 kiwi brown brown
3 orange orange orange
4 pear green green
In this example, the replace_fruit_color
function checks each row in the dataframe and returns a new string value for the color
column based on whether the fruit
column starts with a certain letter. The apply
method applies this function to each row, and the results are stored in a new new_color
column.