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

Is there a way to append values of the column with same column name using python?

我有一个数据集,其中一些列具有相同的列名。我想合并具有相同列名的列,以便将值附加为行。并且,对于没有具有相同列名的列的列,在行中附加 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, then reshape by DataFrame.stack, sorting by second level of MultiIndex by DataFrame.sort_index and last remove second level with convert first level to column Date by double DataFrame.reset_index 的列中创建 MultiIndex

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