gpt4 book ai didi

python - 相对于没有重复列的列转置数据框

转载 作者:行者123 更新时间:2023-12-05 09:06:36 25 4
gpt4 key购买 nike

我有一个 DataFrame,它看起来像:

    ftr_1  ftr_2  ftr_3  ftr_4
1 0.1 A 10
2 0.2 A 11
3 0.3 B 12
4 0.4 B 13
5 0.5 C 14
6 0.6 C 15
7 0.7 D 16
8 0.8 D 17

现在我想转置这个 DataFrame,使我的列变成行/索引,我的 ftr_3 列变成列,如下所示:

        A    B    C    D
ftr_1 1 3 5 7
ftr_1 2 4 6 8
ftr_2 0.1 0.3 0.5 0.7
ftr_2 0.2 0.4 0.6 0.8
ftr_4 10 12 14 16
ftr_4 11 13 15 17

我想对 ftr_3 列进行转置,但不想同时拥有重复的列,也不想丢失数据。

我尝试了以下方法,但最终得到了重复的列:-

    df.set_index(['ftr_3'],inplace=True,drop=True)
df = df.T

这可能是一个简单的支点,但我坚持这一点。请帮助并提前致谢。

最佳答案

你可以试试:

df.set_index(["ftr_3",df.groupby("ftr_3").cumcount()]).unstack().T.droplevel(1)

ftr_3     A     B     C     D
ftr_1 1.0 3.0 5.0 7.0
ftr_1 2.0 4.0 6.0 8.0
ftr_2 0.1 0.3 0.5 0.7
ftr_2 0.2 0.4 0.6 0.8
ftr_4 10.0 12.0 14.0 16.0
ftr_4 11.0 13.0 15.0 17.0

删除索引名称:

(df.set_index(["ftr_3",df.groupby("ftr_3").cumcount()]).unstack()
.T.droplevel(1).rename_axis(None,axis=1))

A B C D
ftr_1 1.0 3.0 5.0 7.0
ftr_1 2.0 4.0 6.0 8.0
ftr_2 0.1 0.3 0.5 0.7
ftr_2 0.2 0.4 0.6 0.8
ftr_4 10.0 12.0 14.0 16.0
ftr_4 11.0 13.0 15.0 17.0

关于python - 相对于没有重复列的列转置数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65785702/

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