我有一个带有3列的Pandas 数据帧示例.

这是示例数据集-

In [3]: df = pd.DataFrame({
   ...:                     'mode': ['car'] * 4 + ['train'] * 3 + ['truck'] * 5,
   ...:                     'qty1': [2,4,9,7,6,3,4,1,2,5,5,7],
   ...:                     'qty2': [5,2,3,6,9,7,4,5,1,6,3,9]
   ...:                   })
   ...: df
Out[3]:
     mode  qty1  qty2
0     car     2     5
1     car     4     2
2     car     9     3
3     car     7     6
4   train     6     9
5   train     3     7
6   train     4     4
7   truck     1     5
8   truck     2     1
9   truck     5     6
10  truck     5     3
11  truck     7     9

现在我用pivot_table得到以下输出-

In [4]: pivot1 = pd.pivot_table(data=df,
   ...:                         index=['mode'],
   ...:                         values=['qty1','qty2'],
   ...:                         aggfunc='sum')

In [5]: pivot1
Out[5]:
       qty1  qty2
mode
car      22    16
train    13    20
truck    20    24

现在,当我应用以下代码时,

In [7]: pivot1 = pivot1.style.set_table_styles([^M
   ...:                           {^M
   ...:                                 "selector":"th",^M
   ...:                                 "props": [("border", "1px solid black"),^M
   ...:                                           ("font-style", "italic")]^M
   ...:                             },^M
   ...:                             {^M
   ...:                                 "selector":"th.row_heading",^M
   ...:                                 "props": [("border", "1px solid black"),^M
   ...:                                           ("font-style", "italic")]^M
   ...:                             }                           ^M
   ...:                         ]).set_properties(border="1px solid black").format('${:.2f}')
   ...: pivot1

我得到以下输出-

现在我想要one level上的所有column headers-‘mode’、‘qty1’和‘qty2’.我try 使用reset_index()重置索引,但我不希望在重置索引后使用索引列.我希望最后一张桌子是这样的-

mode qty1 qty2
car $22.00 $16.00
train $13.00 $20.00
truck $20.00 $24.00

我的最终目标是将此表保存为png/jpg,并使用python将其上载到pptx演示文稿中.

任何帮助都将不胜感激!谢谢

推荐答案

mode是索引名称,您可以将索引名称分配给列标题名称

pivot1.columns.name, pivot1.index.name = pivot1.index.name, None
print(pivot1)

mode   qty1  qty2
car      22    16
train    13    20
truck    20    24

Python相关问答推荐

2维数组9x9,不使用numpy.数组(MutableSequence的子类)

发生异常:TclMessage命令名称无效.!listbox"

Python虚拟环境的轻量级使用

如何在表中添加重复的列?

使用groupby方法移除公共子字符串

如何更改groupby作用域以找到满足掩码条件的第一个值?

循环浏览每个客户记录,以获取他们来自的第一个/最后一个渠道

当单元测试失败时,是否有一个惯例会抛出许多类似的错误消息?

BeautifulSoup-Screper有时运行得很好,很健壮--但有时它失败了::可能这里需要一些更多的异常处理?

提取数组每行的非零元素

python的文件. truncate()意外地没有截断'

为什么后跟inplace方法的`.rename(Columns={';b';:';b';},Copy=False)`没有更新原始数据帧?

如何在SQLAlchemy + Alembic中定义一个"Index()",在基表中的列上

如何提高Pandas DataFrame中随机列 Select 和分配的效率?

PYTHON中的pd.wide_to_long比较慢

在一个数据帧中,我如何才能发现每个行号是否出现在一列列表中?

如何通过特定导入在类中执行Python代码

有没有一种方法可以根据不同索引集的数组从2D数组的对称子矩阵高效地构造3D数组?

在使用ROLING()获得最大值时,是否可以排除每个窗口中的前n个值?

极地数据帧:ROLING_SUM向前看