Assume I have a pandas DataFrame with two columns, A and B. I'd like to modify this DataFrame (or create a copy) so that B is always NaN whenever A is 0. How would I achieve that?
I tried the following
df['A'==0]['B'] = np.nan
df.ix[df.A==0, 'B'] = np.nan
df.A==0 expression creates a boolean series that indexes the rows,
'B' selects the column. You can also use this to transform a subset of a column, e.g.:
df.ix[df.A==0, 'B'] = df.ix[df.A==0, 'B'] / 2