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

请求将指定Pandas DataFrame按示例要求进行格式转换

实现思路与代码

输入数据结构

先明确输入的DataFrame结构:

IDABCDE
500332
200312
30012

目标输出结构

需要转换为长格式,仅保留非空值的行:

IDColumnValue
500A3
500B3
500C2
200A3
200B1
200D2
300D1
300E2

实现步骤

  1. 宽表转长表:用Pandas的melt函数,将ID设为标识变量,其余列作为值变量,生成包含ID、列名、对应值的长表。
  2. 过滤空值:剔除值为空字符串的行。
  3. 整理格式:重命名列名并重置索引,让结果更整洁。

代码实现

import pandas as pd

# 输入数据
data = {
    'ID':  [500, 200, 300],
    'A': [3, 3, ''],
    'B': [3, 1, ''],
    'C': [2, '' ,''],
    'D': ['', 2, 1],
    'E': ['', '',2 ],
}
df = pd.DataFrame(data)

# 转换操作
result = df.melt(id_vars='ID', var_name='Column', value_name='Value')
# 过滤空值行
result = result[result['Value'] != ''].reset_index(drop=True)

print(result)

执行后输出:

ID Column Value
0  500      A     3
1  200      A     3
2  500      B     3
3  200      B     1
4  500      C     2
5  200      D     2
6  300      D     1
7  300      E     2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:47:21