【发布时间】:2022-01-14 11:45:41
【问题描述】:
所以我的数据集看起来像这样,我想先按 TSI 列对我的数据集进行分组,然后为每个分组的 TSI 找到 cum% 的 ONS
| F TSI | F ONS | Cum%ONS |
|---|---|---|
| A1020 | 0.5 | |
| A1020 | 1.3 | |
| A1020 | 2.2 | |
| A1020 | 3.1 | |
| B1020 | 0.5 | |
| B1020 | 1.4 | |
| D1020 | 0.5 | |
| D1020 | 1.4 |
我如何找到每个组的累积百分比以便我得到
| F TSI | F ONS | Cum%ONS |
|---|---|---|
| A1020 | 0.5 | 7.142% |
| A1020 | 1.3 | 25.71% |
| A1020 | 2.2 | 57.13% |
| A1020 | 3.0 | 100% |
| B1020 | 0.5 | 26.315% |
| B1020 | 1.4 | 100% |
| D1020 | 0.5 | 26.3% |
| D1020 | 1.4 | 100% |
a = df.groupby(['TSI'])['Final ONS'].cumsum()
b = df.groupby(['TSI'])['Final ONS'].sum()
g = df.groupby(['TSI'])['Final
ONS'].cumsum(axis=0)/df.groupby(['TSI'])['Final ONS'].sum()
g = pd.DataFrame(g)
g
这段代码给了我 nan 值
【问题讨论】:
标签: python pandas dataframe pandas-groupby