gpt4 book ai didi

python-2.7 - Pandas 中的长到宽 DataFrame 在新列中具有枢轴列名称

转载 作者:行者123 更新时间:2023-12-04 17:54:36 28 4
gpt4 key购买 nike

我已经搜索了很多,但似乎无法找到针对我的特定问题的枢轴功能。我将传达一个我正在寻找的简单示例:

长 table

dependent_variable  step a  b
5.5 1 20 30
5.5 2 25 37
6.1 1 22 19
6.1 2 18 29

想要的宽 table
dependent_variable   a_step1 a_step2 b_step1  b_step2
5.5 20 25 30 37
6.1 22 18 19 29

实际上,我想以 Step 列为中心,并使其余自变量(在本例中为 a 和 b)的列名称包括步骤编号和与其关联的 a/b 值。

旋转后,我将使用因变量列和作为 numpy 数组以及新旋转的因变量输入各种机器学习算法。

当我尝试 piRSquared 的建议(谢谢)时,我收到错误:索引包含重复的条目,无法 reshape 。

然后我尝试了(来自 Here )
d1 =data.set_index(['dependent_variable','step'], append=True).unstack()
d1.columns = d1.columns.map(lambda x: '{}_step{}'.format(*x))
d1.reset_index(inplace=True)

并且(使用示例表)得到以下信息:
level_0   dependent_variable a_step1 a_step2 b_step1 b_step2
1 5.5 20 NaN 30 NaN
2 5.5 NaN 25 NaN 37
3 6.1 22 NaN 19 NaN
4 6.1 NaN 18 NaN 29

所以,我还缺少一步

最佳答案

假设您的数据框的名称是 dfdependent_variable , step不在索引中

d1 = df.set_index(['dependent_variable', 'step']).unstack()
d1.columns = d1.columns.map(lambda x: '{}_step{}'.format(*x))
d1.reset_index(inplace=True)

print(d1)

dependent_variable a_step1 a_step2 b_step1 b_step2
0 5.5 20 25 30 37
1 6.1 22 18 19 29

关于python-2.7 - Pandas 中的长到宽 DataFrame 在新列中具有枢轴列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41451199/

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