Python 数据透视表后的堆栈输出格式

Python 数据透视表后的堆栈输出格式,python,pandas,Python,Pandas,我从数据框中创建了一个透视表,方法是提供两列作为透视输入,如下面的代码所示。应用pivot后,我需要使用此堆叠输出与类似的列数据帧合并,因此我希望放弃同样出现在索引名称上方的名称(“品牌和类型”),如何实现这一点。请注意,我想保持堆叠输出 import pandas as pd cars = {'day':['aug','aug','sep','sep','aug'], 'Brand': ['Honda Civic','Toyota Corolla','Ford Focus',

我从数据框中创建了一个透视表,方法是提供两列作为透视输入,如下面的代码所示。应用pivot后,我需要使用此堆叠输出与类似的列数据帧合并,因此我希望放弃同样出现在索引名称上方的名称(“品牌和类型”),如何实现这一点。请注意,我想保持堆叠输出

import pandas as pd

cars = {'day':['aug','aug','sep','sep','aug'],
        'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4','Hyundai Elite i20'],
        'Type':['sedan,','sedan','hatchback','hatchback','hatchback'],
        'Down Price': [22000,25000,27000,35000,10000]
        }

df = pd.DataFrame(cars, columns = ['day','Brand', 'Type','Down Price'])
dfpivot=pd.pivot_table(df,index=['day'],columns=['Brand','Type'],values=['Down Price'],aggfunc=np.max)
dfpivot.columns = dfpivot.columns.droplevel(0)
我试图重置索引,但没有成功

dfpivot.rename_axis(None, axis=1).reset_index()
然后我试着删除索引,但也不起作用。如何删除索引上方显示的名称、品牌和类型。先谢谢你

添加溶液后

dfpivot.columns.name=[None,None]
回溯:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-102-ef1eb88ee6b2> in <module>
     10 dfpivot=pd.pivot_table(df,index=['day'],columns=['Brand','Type'],values=['Down Price'],aggfunc=np.max)
     11 
---> 12 dfpivot.columns.name=[None,None]

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\indexes\base.py in name(self, value)
   1192                 "'MultiIndex.set_names' instead."
   1193             )
-> 1194         maybe_extract_name(value, None, type(self))
   1195         self._name = value
   1196 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\indexes\base.py in maybe_extract_name(name, obj, cls)
   5402     # GH#29069
   5403     if not is_hashable(name):
-> 5404         raise TypeError(f"{cls.__name__}.name must be a hashable type")
   5405 
   5406     return name

TypeError: MultiIndex.name must be a hashable type
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在里面
10 dfpivot=pd.pivot_表(df,索引=['day'],列=['Brand','Type'],值=['Down Price'],aggfunc=np.max)
11
--->12 dfpivot.columns.name=[无,无]
名称为~\AppData\Local\Continuum\anaconda3\lib\site packages\pandas\core\index\base.py(self,value)
1192“'MultiIndex.set_names'代替。”
1193             )
->1194可能提取名称(值、无、类型(self))
1195自身名称=值
1196
~\AppData\Local\Continuum\anaconda3\lib\site packages\pandas\core\indexes\base.py in-maybe\u extract\u name(name,obj,cls)
5402#GH#29069
5403如果不可散列(名称):
->5404 raise TypeError(f“{cls.\u name\u\u}.name必须是可哈希类型”)
5405
5406返回名称
TypeError:MultiIndex.name必须是可哈希类型

这些是
列的名称。只需将它们设置为
None

dfpivot.columns.names = [None, None]
dfpivot.index.names = [None] # only do this if you do not want the name of your index (day)

嘿,非常感谢你这么及时的回复。在你的建议之后,我尝试了这个方法,它抛出了以下错误类型错误:MultiIndex.name必须是可哈希类型请添加问题的完整回溯。添加为requested@DD08根据回溯,您似乎使用了
name
单数而非
name
复数:
dfpivot.columns.name=[None,None]
它应该是
dfpivot.columns.names=[None,None]
它是。我犯了这么小的错误,谢谢你们的建议并指出错误