在R语言中如何仅将dataframe的accuracy行转置为列
将DataFrame的accuracy行转置为列
假设你的DataFrame是指标为行、样本/类别为列的结构(示例如下):
import pandas as pd df = pd.DataFrame({ "样本1": [0.85, 0.88], "样本2": [0.92, 0.90], "样本3": [0.78, 0.80] }, index=["accuracy", "precision"])
提取accuracy行转成单列(带样本标识)
直接定位目标行,转置后整理结构:
# 提取accuracy行并转为DataFrame accuracy_df = df.loc["accuracy"].to_frame(name="accuracy") # 重置索引,把原列名转为样本列 accuracy_df = accuracy_df.reset_index().rename(columns={"index": "样本"})
输出结果:
样本 accuracy 0 样本1 0.85 1 样本2 0.92 2 样本3 0.78
整体转置后单独提取accuracy列
如果需要先转置整个DataFrame,再取出accuracy列:
# 转置整个DataFrame transposed_df = df.T # 提取accuracy列,可转为DataFrame格式 accuracy_col = transposed_df["accuracy"].to_frame()
输出结果:
accuracy 样本1 0.85 样本2 0.92 样本3 0.78
多指标数据中单独提取accuracy行转列
如果原DataFrame包含多个指标,用melt重塑后筛选:
# 重置索引将指标转为列,再重塑数据 melted_df = df.reset_index().melt(id_vars="index", var_name="样本", value_name="数值") # 筛选accuracy数据并整理列名 accuracy_result = melted_df[melted_df["index"] == "accuracy"].rename(columns={"数值": "accuracy"}).drop("index", axis=1)
内容的提问来源于stack exchange,提问作者Surya
相关产品推荐
相关产品推荐

