You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将DataFrame转换为HBase风格的列式存储格式

实现方案

你需要的宽表转HBase风格长表的需求可以直接用Pandas内置的melt方法实现,无需手动遍历索引,性能远高于循环遍历方案。

完整示例代码

首先构造你描述的测试DataFrame,再执行转换:

import pandas as pd

# 构造测试数据
df = pd.DataFrame({
    'COL1': [100, 101, 102, 103],
    'COL2': [200, 201, 202, 203],
    'COL3': [300, 301, 302, 303]
})

# 转换为目标列式结构
result = df.melt(
    id_vars=['COL1'],  # 指定保留为行主键的字段
    var_name='KEY',  # 原列名存储到KEY列
    value_name='VALUE'  # 原列值存储到VALUE列
).rename(columns={'COL1': 'KEY_COLUMN'})  # 重命名主键列符合要求

print(result)

如果你不需要显式指定要展开的列,方法会自动把除了id_vars之外的所有列转为键值对,新增列时无需修改代码,适配动态列场景。

输出结果

运行后得到的三列结构完全符合预期:

KEY_COLUMN   KEY  VALUE
0         100  COL2    200
1         101  COL2    201
2         102  COL2    202
3         103  COL2    203
4         100  COL3    300
5         101  COL3    301
6         102  COL3    302
7         103  COL3    303

内容的提问来源于stack exchange,提问作者Priyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 04:21:03