CJ1*_*123 2 row subtotal pandas
我使用 groupby 创建了一个新的聚合数据框,但在每个类别下添加小计行时遇到问题。
我尝试过使用 pd.groupby 和数据透视表并更改索引,但我无法按照我想要的方式表示数据。
df_balance['Subtotal'] = df_balance.groupby('Client')['USD_Balance'].transform('sum')
Run Code Online (Sandbox Code Playgroud)
+----------+-------------+------------+
|CLient ID | USD_Balance | Subtotal |
+----------+---------+------------+----
| 1 | 2 | 6 |
| 1 | 2 | 6 |
| 1 | 2 | 6 |
+----------+-------------+------------+
Run Code Online (Sandbox Code Playgroud)
|---------------------|------------------|
| Client ID | USD_Balance |
|---------------------|------------------|
| 1 | 2 |
|---------------------|------------------|
| 1 | 2 |
|---------------------|------------------|
| 1 | 2 |
|---------------------|------------------|
| SubTotal | 6 |
|---------------------|------------------|
Run Code Online (Sandbox Code Playgroud)
我想添加一个小计行,以及每个客户端 ID 组的相应聚合。
预先感谢您对如何像这样呈现我的数据的任何指示!
您可以使用groupby和访问每个组并添加小计行:
dfs = []
for _, d in df.groupby('CLient ID', as_index=False):
d.loc['Total', 'USD_Balance'] = df['USD_Balance'].sum()
dfs.append(d)
df_final = pd.concat(dfs, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
CLient ID USD_Balance
0 1.0 2.0
1 1.0 2.0
2 1.0 2.0
3 NaN 6.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5753 次 |
| 最近记录: |