在同一列中,列名显示了两次。

10 浏览
0 Comments

在同一列中,列名显示了两次。

我有一个pandas的dataframe,我在它上面使用了groupby和value_counts方法:

df4.groupby(['City'])['User Type'].value_counts()

这给了我以下输出:

City User Type

C Subscriber 238889

Customer 61110

Dependent 1

N Subscriber 269149

Customer 30159

W Subscriber 220786

Customer 79214

现在我使用了df6=df5.unstack(level=1).reset_index(),返回了下面的df:

[图片链接]

然后我使用了df6.set_index('City',inplace=True),

产生了以下输出:

[图片链接]

我无法理解为什么城市显示在"User Type"下,是否有办法去除"User Type"的索引名称

在执行了df6=df5.unstack(level=1).reset_index().rename_axis(None, axis=1)之后,

然后执行了df6.set_index('City',inplace=True),

仍然将城市显示在不同的层级上:

[图片链接]

0
0 Comments

问题的原因是在对数据进行unstack操作时,列名在列索引中重复出现。解决方法是删除列索引中的列名。具体的操作是使用del df6.columns.name来删除列名,并使用del df6.index.name来删除行名。

0