python - 如何在熊猫的多级列中将列名呈现为单个单元格?
问题描述
我正在研究列中的多级索引。我必须把这些表寄出去。对于发送表格,我使用的是df.to_html()
. 下图就是我现在的位置。foo
是我已转换为列的索引。
在转换为列时,我希望它占据两个单元格,这样看起来不错。这就是我想要实现的目标。
代码看起来像这样。
df = pd.DataFrame([[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]],index=['M1','M2','M3'])
df.columns = pd.MultiIndex.from_product([['x', 'y'], ['a', 'b']])
ind = df.index
df.reset_index(drop=True,inplace=True)
df.insert(0,'foo',ind)
解决方案
使用您提供的代码,foo
未将其设置为数据框的索引。
无论如何,您可以在当前代码之后添加它,以便在将其转换为 html 之前更正数据框的标题:
df = df.rename(axis=1, level=0, mapper={"foo": ""}).rename(
axis=1, level=1, mapper={"": "foo"}
)
df.to_html(index=False)
这样,您的数据框的 html 版本呈现所需的方式:
x y
foo a b a b
M1 1 2 3 4
M2 1 2 3 4
M3 1 2 3 4
推荐阅读
- excel - 在 Excel 中使用带有 filter() 函数的下拉选择
- laravel - Laravel - 如何不在控制器中传递未使用的参数
- firebase - 在 Flutter Web 中实现 Firebase 分析
- node.js - 使用 node js 和 mongodb 对 api 进行排序
- python - 使用主题值初始化 Kafka 生产者
- excel - 使用 PowerShell 处理 Excel 数据
- javascript - 在重定向之前创建 POST 请求
- azure-devops - 如何使用 dotnet-isolation 创建 azure 函数应用程序?
- json - C# 使用 JsonPatchDocument 更新 Azure Dev Ops WorkItem 父级
- reactjs - ReactJS:更新同一个对象的 2 个 api 调用 - 可能发生冲突?