python - Update dataframe values by broadcasting series -
trying update portion of dataframe values series.
np.random.seed(1) df = pd.dataframe(np.random.randint(1,100,(5,5)),columns =list('abcde')) print df b c d e 0 38 13 73 10 76 1 6 80 65 17 2 2 77 72 7 26 51 3 21 19 85 12 29 4 30 15 51 69 88 with series:
ser = pd.series(index =list('cbade'),data = range(-5,0)) c -5 b -4 -3 d -2 e -1 dtype: int64 lets take slice updating
criteria = df['a'] < 25 criteria: 0 false 1 true 2 false 3 true 4 false trying:
df[criteria] = ser df.loc[criteria,:] = ser etc. desired output:
b c d e 0 38 13 73 10 76 1 -3 -4 -5 -2 -1 2 77 72 7 26 51 3 -3 -4 -5 -2 -1 4 30 15 51 69 88 i want honor column index , ignore row index, using boolean criteria , broadcasting.

Comments
Post a Comment