gpt4 book ai didi

python - 为 Pandas 数据框中的每个现有变量从行创建新变量

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:43 24 4
gpt4 key购买 nike

我有一个数据框,它看起来像:

0  target_year ID   v1  v2  
1 2000 1 0.3 1
2 2000 2 1.2 4
...
10 2001 1 3 2
11 2001 2 2 2

我想要以下输出:

0   ID   v1_1  v2_1  v1_2  v2_2  
1 1 0.3 1 3 2
2 2 1.2 4 2 2

你知道怎么做吗?

最佳答案

你可以使用 pd.pivot_table , 使用 GroupBy.cumcount ID 作为列。

然后我们可以使用带有 f-strings 的列表推导式将 MultiIndex header 合并到一个单层中:

cols = df.groupby('ID').ID.cumcount() + 1
df_piv = (pd.pivot_table(data = df.drop('target_year', axis=1)[['v1','v2']],
index = df.ID,
columns = cols)
df_piv.columns = [f'{i}_{j}' for i,j in df_piv.columns]


v1_1 v1_2 v2_1 v2_2
ID
1 0.3 3.0 1 2
2 1.2 2.0 4 2

关于python - 为 Pandas 数据框中的每个现有变量从行创建新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56146552/

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