首页 > 解决方案 > 数据透视表中的 Python 列标题

问题描述

我有以下从 through 生成的数据框pivot_table

                cost    value
action           BUY     SELL
date                         
2001-04-27  79593.61      0.0
2001-05-04  29846.89  29132.6
2001-05-11  39786.30  40896.9
2001-05-18  29846.89  29550.5
2001-05-25  29844.71  29044.7
...              ...      ...
2020-08-28   9944.97   9955.3
2020-09-04   9944.04   9719.0
2020-09-11   9932.20  17751.5
2020-09-18  29849.57  29483.3
2020-09-25      0.00  86172.4

但是我现在只想要三个基本的列标题date, cost, value. 但是当我尝试通过 分配列名时cost_df = cost_df.columns['cost','value'],我得到一个Index Error.

标签: pythonpandasdataframe

解决方案


您的列轴是多索引。如果您需要使用多索引的第一级选择数据并删除第二级,只需重新分配列:

cost_df.columns = ['cost', 'value']
cost_df[['cost', 'value']].head()

#                cost    value
# date                         
# 2001-04-27  79593.61      0.0
# 2001-05-04  29846.89  29132.6
# 2001-05-11  39786.30  40896.9
# 2001-05-18  29846.89  29550.5
# 2001-05-25  29844.71  29044.7

推荐阅读