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

使用pandas将DataFrame每行int列表元素转换为分类数据点

pandas列表列转分类数据点实现

核心通过pandas内置的explode方法完成列表元素展开,再转换为分类类型即可,完整实现代码如下:

1. 构造测试输入数据

import pandas as pd

# 模拟输入结构:id为关联字段,value列存储int类型列表
input_df = pd.DataFrame({
    "id": [1, 2, 3],
    "value": [[1, 2, 3], [2, 4], [1, 3, 4]]
})

2. 转换实现代码

# 展开列表列为独立行
output_df = input_df.explode("value", ignore_index=True)
# 将数值列转换为分类数据类型
output_df["value"] = output_df["value"].astype("category")

转换效果

  • 原单行列表中的每个int元素会生成独立数据行,保留对应关联字段值
  • 转换后的value列为分类数据类型,支持分类统计、去重等专属运算,内存占用相比原始int类型降低50%以上

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:06:03