要删除pandas透视表的列名和值列名,可以使用droplevel
方法。droplevel
方法允许我们删除指定级别的索引。
下面是一个示例代码:
import pandas as pd
# 创建一个示例透视表
data = {'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],
'B': ['one', 'one', 'two', 'two', 'one', 'one'],
'C': ['x', 'y', 'x', 'y', 'x', 'y'],
'D': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
pivot_table = pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'], aggfunc=sum)
# 删除列名的第一级别
pivot_table.columns = pivot_table.columns.droplevel(0)
# 删除索引的第一级别
pivot_table.index = pivot_table.index.droplevel(0)
print(pivot_table)
输出结果:
C x y
A B
bar one 5.0 6.0
foo one NaN 1.0
two 3.0 NaN
在上面的代码中,我们首先创建了一个示例透视表 pivot_table
。然后,我们使用 droplevel(0)
方法来删除列名的第一级别和索引的第一级别。最后,我们打印出结果。
请注意,在删除了一级索引和列名之后,透视表的结构可能会发生变化,因此需要根据具体情况进行调整。