我有每个 ID 的以下数据:
id ---- Base AE Val LT RO+ Prem AM TN T3 AR
05 0 34.34 9.42 70.68 0 0 0 0 0 0 0
108 0 43.77 0 28 0 0 0 0 0 0 0
205 0 77.64 0 32.2 0 0 0 0 0 0 0
320 0 66.24 0 59.628 0 0 0 0 0 0 0
313 0 21.66 0 21.442 0 0 0 0 0 0 0
324 0 72.37 0 701.12 0 0 0 0 0 0 0
505 0 76.057 0 43.87 0 0 0 0 0 0 0
现在我想找到所有列的总和,除了我指定的一些列和其他列分别到如下列中:
id Base Val Others Total
05 34.34 70.68 9.42 114.441387
108 43.77 28 0 71.77
205 77.64 32.2 0 109.84
320 66.24 59.628 0 125.868
313 21.66 21.442 0 43.102
324 72.37 701.12 0 773.49
505 76.057 43.87 0 119.927
因此,如果我要保留的列列表:
cols_to_keep = ['Base','Val']
不属于此列表的其他 channel 将在其他列中汇总,每行中的所有值总计。 id是记录的索引。
我能够保留我在列表中声明的列,但是如何在其他列中总结除列表中的其他列。 有人可以帮我吗? 数据在 pandas df 中。
请您参考如下方法:
Drop您不想汇总的列:
df['Others'] = df.drop(cols_to_keep, axis=1).sum(axis=1)
df['Total'] = df.sum(axis=1)
