Pandas 堆栈输出格式化后数据透视表

我通过提供 2 列作为数据透视输入,从数据框中创建数据透视表,如下面的代码所示。应用枢轴后,我需要使用此堆叠输出与类似的列数据框合并,因为我想丢弃也出现在索引名称上方的名称(“品牌和类型”),我该如何实现这一点。请注意我想保留堆叠输出


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


慕尼黑5688855
浏览 128回答 1
1回答

慕无忌1623718

这些就是专栏names。只需将它们设置为None:dfpivot.columns.names&nbsp;=&nbsp;[None,&nbsp;None] dfpivot.index.names&nbsp;=&nbsp;[None]&nbsp;#&nbsp;only&nbsp;do&nbsp;this&nbsp;if&nbsp;you&nbsp;do&nbsp;not&nbsp;want&nbsp;the&nbsp;name&nbsp;of&nbsp;your&nbsp;index&nbsp;(day)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python