gpt4 book ai didi

python - Pandas 融化以获得多个变量和值列

转载 作者:行者123 更新时间:2023-12-01 08:16:32 25 4
gpt4 key购买 nike

我有一个 Pandas DataFrame

data = {
"SomeCol":[1,2],
"Group1":['x','y'],
"Group2":['a','b'],
"SomeAgg":[100,200]
}
df = pd.DataFrame(data)

SomeCol Group1 Group2 SomeAgg
0 1 x a 100
1 2 y b 200

我怎样才能得到这个:

   SomeCol    Var1    Var2 Var1_value Var2_value  SomeAgg
0 1 Group1 Group2 x a 100
1 2 Group1 Group2 y b 200

我尝试过 pd.melt 函数,它只提供一个变量和一个值列。

如有任何帮助,我们将不胜感激

最佳答案

不使用pd.melt也可以实现该解决方案:

data = {
"SomeCol":[1,2],
"Group1":['x','y'],
"Group2":['a','b'],
"SomeAgg":[100,200]
}
df = pd.DataFrame(data)
col_names = ['Group1', 'Group2']
df['Var1'], df['Var2'] = col_names[0], col_names[1]
df = df.rename(columns={col_names[0]: 'Var1_Value', col_names[1]: 'Var2_Value'})

print(df)

SomeCol Var1_Value Var2_Value SomeAgg Var1 Var2
0 1 x a 100 Group1 Group2
1 2 y b 200 Group1 Group2

关于python - Pandas 融化以获得多个变量和值列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54958300/

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