我有这样的数据框-
Alpha Title Jan Feb Mar Apr
0 a T1 63 66 65 53
1 b T2 35 88 81 42
2 b T3 0 23 51 95
3 c T2 83 70 77 57
4 c T3 0 81 15 59
我要更新列中的值Jan
,其中Title = T3
利用价值的总和Jan, Feb and Mar
,其中Title = T2
,与匹配Alpha
输出应如下所示:
Alpha Title Jan Feb Mar Apr
0 a T1 63 66 65 53
1 b T2 35 88 81 42
2 b T3 204 23 51 95
3 c T2 83 70 77 57
4 c T3 230 81 15 59
采用:
#create Series for match by conditions and columns names
df1 = df.set_index('Alpha')
s = df1.loc[df1['Title'].eq('T2'), ['Jan','Feb','Mar']].sum(1)
#another condition
m = df['Title'].eq('T3')
#replace by mask
df.loc[m, 'Jan'] = df.loc[m, 'Alpha'].map(s)
print (df)
Alpha Title Jan Feb Mar Apr
0 a T1 63 66 65 53
1 b T2 35 88 81 42
2 b T3 204 23 51 95
3 c T2 83 70 77 57
4 c T3 230 81 15 59
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句