Combine columns to create a new column
- apply
{% embed include file="src/examples/pandas/data.csv)
import pandas as pd
filename = 'data.csv'
df = pd.read_csv(filename)
print(df)
print()
def combine_two_columns(row):
return row['lname'] + '_' + row['fname']
df['combined'] = df.apply(combine_two_columns, axis=1)
print(df)
print()
def combine_more_columns(row):
columns = ['lname', 'age', 'fname']
return '_'.join(map(lambda name: str(row[name]), columns))
df['combined'] = df.apply(combine_more_columns, axis=1)
print(df)
Output:
fname lname age
0 Foo Bar 100
1 Alma Matter 78
2 Buzz Lightyear 23
fname lname age combined
0 Foo Bar 100 Bar_Foo
1 Alma Matter 78 Matter_Alma
2 Buzz Lightyear 23 Lightyear_Buzz
fname lname age combined
0 Foo Bar 100 Bar_100_Foo
1 Alma Matter 78 Matter_78_Alma
2 Buzz Lightyear 23 Lightyear_23_Buzz