gpt4 book ai didi

python - 有没有办法使用 python 附加具有相同列名的列的值?

转载 作者:行者123 更新时间:2023-12-01 07:45:25 24 4
gpt4 key购买 nike

我有一个数据集,其中一些列具有相同的列名。我想合并具有相同列名的列,以便将值附加为行。并且,对于没有相同列名的列的列,将在行中追加 0。

我尝试过熔化,但它似乎不适用于我需要的格式。

示例数据:

print (df)
Date Column_A Column_A Column_B
0 1/2/2018 3 2 3
1 2/2/2018 4 7 1
2 3/2/2018 2 2 6
3 4/2/2018 1 1 4

预期输出:

       Date  Column_A  Column_B
0 1/2/2018 3 3.0
1 2/2/2018 4 1.0
2 3/2/2018 2 6.0
3 4/2/2018 1 4.0
4 1/2/2018 2 0.0
5 2/2/2018 7 0.0
6 3/2/2018 2 0.0
7 4/2/2018 1 0.0

最佳答案

想法是在 GroupBy.cumcount 的列中创建 MultiIndex ,然后通过 DataFrame.stack reshape 形状,按 MultiIndex 的第二级排序 DataFrame.sort_index最后删除第二级,并将第一级转换为列 Date by double DataFrame.reset_index :

df = df.set_index('Date')
s = df.columns.to_series()

df.columns = [df.columns, s.groupby(s).cumcount()]
df = df.stack().sort_index(level=1).fillna(0).reset_index(level=1, drop=True).reset_index()
print (df)
Date Column_A Column_B
0 1/2/2018 3 3.0
1 2/2/2018 4 1.0
2 3/2/2018 2 6.0
3 4/2/2018 1 4.0
4 1/2/2018 2 0.0
5 2/2/2018 7 0.0
6 3/2/2018 2 0.0
7 4/2/2018 1 0.0

关于python - 有没有办法使用 python 附加具有相同列名的列的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56488989/

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