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

如何将Pandas特定DataFrame转换为索引为{列名_行索引}的Series?

解决方案

完全不需要手动遍历单元格,Pandas有现成的内置方法可以快速实现需求,核心思路是利用堆叠(stack)操作配合索引重构:

步骤示例

假设你的原始DataFrame结构如下:

import pandas as pd

# 构造示例数据
df = pd.DataFrame(
    [[0.85, 0.92, 0.88], [0.03, 0.02, 0.04]],
    index=['mean', 'std'],
    columns=['completeness', 'homogeneity', 'label_f1_score']
)

方法一:简洁链式写法

# 堆叠列到内层索引,然后拼接索引级别生成目标格式
result_series = df.stack().rename(lambda idx: f"{idx[1]}_{idx[0]}")

方法二:分步清晰写法

如果觉得链式写法不够直观,可以拆成步骤:

# 1. 堆叠操作:将列转为内层索引,得到多层索引Series
stacked_series = df.stack()
# 2. 重构索引:把多层索引的「列名」和「行索引」拼接成目标格式
new_index = [f"{col}_{row}" for row, col in stacked_series.index]
# 3. 生成最终Series
result_series = pd.Series(stacked_series.values, index=new_index)

结果验证

最终得到的result_series结构如下:

completeness_mean      0.85
homogeneity_mean       0.92
label_f1_score_mean    0.88
completeness_std       0.03
homogeneity_std        0.02
label_f1_score_std     0.04
dtype: float64

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:06:29