gpt4 book ai didi

python - Pandas 数据框将行值 reshape 为新列(矩阵类型格式)

转载 作者:行者123 更新时间:2023-12-05 08:21:58 24 4
gpt4 key购买 nike

我是 pandas 的新手,正在寻找一些关于如何 reshape 我的数据框的建议:

目前,我有一个这样的数据框。

<表类="s-表"><头>panelist_id类型type_countrefer_sm_countrefer_se_countrefer_non_n_count<正文>1惠普22111PB10101TN30302惠普11002PB21100

理想情况下,我希望我的数据框看起来像这样:

<表类="s-表"><头>panelist_idtype_HP_counttype_PB_counttype_TN_countrefer_sm_count_HPrefer_se_count_HPrefer_non_n_count_HPrefer_sm_count_PBrefer_se_count_PBrefer_non_n_count_PBrefer_sm_count_TNrefer_se_count_TNrefer_non_n_count_TN<正文>12132100100002120100110000

基本上,我需要将“类型”列中的不同行值转换为新列,以显示每种类型的计数。标题为“refer”的原始 df 中接下来的三列需要说明每种不同的“类型”。例如,refer_sm_count_[来自类型 X(例如,HP)]。任何帮助将非常感激。谢谢

最佳答案

尝试通过 pivot_table()rename_axis() 方法:

out=(df.pivot_table(index='panelist_id',columns='type',fill_value=0)
.rename_axis(columns=[None,None],index=None))

最后使用map()方法和.columns属性:

out.columns=out.columns.map('_'.join)

现在如果你打印out你会得到你想要的输出

关于python - Pandas 数据框将行值 reshape 为新列(矩阵类型格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67792969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com