如何将累积总和与 Pandas 中的数据合并

How to combine cumulative sum with data in Pandas

例如,这是我的数据框。

import pandas as pd 
data = [[15, 10, 20], [1, 15, 6], [8, 14, 26]]
di = pd.DataFrame(data, columns = ['Day 1', 'Day 2', 'Day 3'])

这导致以下数据框。

di = pd.DataFrame( {'Day 1': {0: 15, 1: 1, 2: 8}, 'Day 2': {0: 10, 1: 15, 2: 14}, 'Day 3': {0: 20, 1: 6, 2: 26}} )

如何转换上述数据框,使 pandas 数据框中的每个单元格都包含值和累积总和(在括号中),即

di_transformed = pd.DataFrame( {'Day 1': {0: 15 (15), 1: 1 (1), 2: 8 (8)}, 'Day 2': {0: 10 (25), 1: 15 (16), 2: 14 (22)}, 'Day 3': {0: 20 (45), 1: 6 (22), 2: 26 (48)}} )

您可以直接连接字符串:

di.astype(str) + ' (' + di.cumsum(axis=1).astype(str) + ')'

输出:

     Day 1    Day 2    Day 3
0  15 (15)  10 (25)  20 (45)
1    1 (1)  15 (16)   6 (22)
2    8 (8)  14 (22)  26 (48)