我有一个 SQL 查询,引入具有两个列名称(模型和计数)的数据。下表显示了原始数据的示例输出:
型号 | 数 |
---|---|
A | 2 |
B | 6 |
C | 12 |
D | 9 |
使用下面的代码我创建了一个数据透视表:
df = pd.DataFrame(data, columns=['Model', 'Counts'])
pivot_data = df.pivot_table(index=None, columns='Model', values='Counts')
total = df['Counts'].sum()
pivot_data['TOTAL'] = total
型号 | A | B | C | D | 总计 |
---|---|---|---|---|---|
2 | 6 | 12 | 9 | 29 |
我遇到的问题是我想用“计数”替换“模型”下面的空白文本,但是我理解它的方式是第一列的数据透视格式而不是实际数据。我尝试更改
columns = 'Model', 'Counts'
,但其作用如下所示:
型号 | 总计 |
---|---|
计数 |
下面是我想要的预期结果/最终表格,所以我只想旋转表格的视图以水平阅读。
型号 | A | B | C | D | 总计 |
---|---|---|---|---|---|
数 | 2 | 6 | 12 | 9 | 29 |
也许你可以使用:
>>> df.set_index('Model').T.assign(TOTAL=lambda x: x.sum(axis=1))
Model A B C D TOTAL
Counts 2 6 12 9 29