Apply Pandas Function On Column Only On Certain Rows
| user | category | val | | ------ | ------------------| -----| | user 1 | c1 | 3 | | user 1 | c2 | 4 | | user 1 | c3
Solution 1:
Use numpy.where
:
df['val'] = np.where(df['category'] == 'c1', df['val'].apply(f), df['val'])
Or filter with loc
:
mask = df['category'] == 'c1'
df.loc[mask, 'val'] = df.loc[mask, 'val'].apply(f)
Post a Comment for "Apply Pandas Function On Column Only On Certain Rows"