What I’m trying to achieve is that when a row in col2 has a 1, it will copy that 1 onto all the other values in col2 as long as the rows in col1 have the same name. As an example, if the dataframe looks like this
col1 col2
xx 1
xx 0
xx 0
xx 0
yy 0
yy 0
yy 0
zz 0
zz 0
zz 1
The output would be
col1 col2
xx 1
xx 1
xx 1
xx 1
yy 0
yy 0
yy 0
zz 1
zz 1
zz 1
I’m really new to python and don’t have a single clue how to even approach this issue. Any help would be greatly appreciated.
>Solution :
df['col2'] = df.groupby('col1')['col2'].transform('max')
Output:
col1 col2
0 xx 1
1 xx 1
2 xx 1
3 xx 1
4 yy 0
5 yy 0
6 yy 0
7 zz 1
8 zz 1
9 zz 1