Nov-12-2019, 07:29 PM
sw.loc[(sw['x']=='M'), 'v']This is a pandas series (with one value) and you can not assign this to your cell.
Just make it a value.
df.loc[(df['b'] == 'M') & (df['c'].isnull()), 'c'] = sw.loc[(sw['x']=='M'), 'v'].values df.loc[(df['b'] == 'B') & (df['c'].isnull()), 'c'] = sw.loc[(sw['x']=='B'), 'v'].values
Output: a b c
0 A B 15.2
1 Z M 1.7
2 A B 66.6
3 Z B 16.8
4 Z M 99.9
5 A M 99.9
6 Z B 66.6