I have a pandas df, something like this:
date col1 col2 col3 col4
0 4-4-22 cat ginger gentle placed
1 4-4-22 dog golden wild not placed
2 4-4-22 fish black domest not placed
3 4-4-22 dog brown gentle placed
For the list of names of the columns that I give, I want each value of those columns to have the column name added in brackets at the end. For eg.
lst = ['col2', 'col4']
Desired output:
date col1 col2 col3 col4
0 4-4-22 cat ginger (col2) gentle placed (col4)
1 4-4-22 dog golden (col2) wild not placed (col4)
2 4-4-22 fish black (col2) domest not placed (col4)
3 4-4-22 dog brown (col2) gentle placed (col4)
>Solution :
Use add after ensuring that the columns are strings (with astype):
cols = ['col2', 'col4']
df[cols] = df[cols].astype(str).add([f' ({c})' for c in cols])
Output:
date col1 col2 col3 col4
0 4-4-22 cat ginger (col2) gentle placed (col4)
1 4-4-22 dog golden (col2) wild not placed (col4)
2 4-4-22 fish black (col2) domest not placed (col4)
3 4-4-22 dog brown (col2) gentle placed (col4)