gpt4 book ai didi

python - "Group"行基于一列,然后为现有其他列值的可能组合创建新列

转载 作者:行者123 更新时间:2023-12-05 09:30:29 24 4
gpt4 key购买 nike

我有以下形式的数据框:

<表类="s-表"><头><日>日期 I1I2F1<日>F2 <正文>11一个v1v911Bv2v10110一个v3v11110Bv4v1221一个v5v1321Bv6v14210一个v7v15210Bv8v16

我想根据“I1”和“I2”值的可能组合创建新列,并将相应的值全部放在一行中(对于同一日期)。生成的数据框应如下所示(按列顺序排列,这无关紧要,我只是出于可视化目的选择了一个):

<表类="s-表"><头><日>日期 F1-1-AF1-1-BF1-10-AF1-10-BF2-1-AF2-1-BF2-10-AF2-10-B<正文>1v1v2v3v4v9v10v11v122v5v6v7v8v13v14v15v16

在 pandas 中实现这一目标的最简洁和通用方法是什么?

最佳答案

您正在寻找一个支点。执行此操作后,您将需要加入多索引列名称以将其展平。

df = df.pivot(index='date',columns=['I1','I2'], values=['F1','F2'])
df.columns = ['-'.join(map(str,x)) for x in df.columns]
df.reset_index(inplace=True)

输出

   date F1-1-A F1-1-B F1-10-A F1-10-B F2-1-A F2-1-B F2-10-A F2-10-B
0 1 v1 v2 v3 v4 v9 v10 v11 v12
1 2 v5 v6 v7 v8 v13 v14 v15 v16

关于python - "Group"行基于一列,然后为现有其他列值的可能组合创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69548079/

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