我有一个数据框,其设计选择很差,如下所示:
df = pd.DataFrame({
'Day': ['2021-03-01', '2021-03-01', '2021-03-02', '2021-03-02', '2021-03-03'],
'Name': ['Sam', 'Sam', 'Jack', 'Steve', 'Steve'],
'Fruit':['Apple', 'Apple', 'Banana', 'Apple', 'Banana'],
'2021-03-01':['2', '1', '0', '1', '1'],
'2021-03-02': ['3', '5', '4', '2', '1'],
'2021-03-03':['7', '3', '2', '1', '4']})
df
Day Name Fruit 2021-03-01 2021-03-02 2021-03-03
0 2021-03-01 Sam Apple 2 3 7
1 2021-03-01 Sam Apple 1 5 3
2 2021-03-02 Jack Banana 0 4 2
3 2021-03-02 Steve Apple 1 2 1
4 2021-03-03 Steve Banana 1 1 4
我想要,对于每个日期Day
,对应于与 的值具有相同列名的列中的日期Day
,对其他变量进行分组并按总和聚合它们。
例如,如果Day
值为“2021-03-01”,然后在“2021-03-01”列中,我将对这些值进行求和(此列中的苹果数和香蕉数)。
它希望结果数据框如下所示:
Date Name nrApples nrBananas
0 2021-03-01 Sam 3 0
1 2021-03-02 Jack 0 4
2 2021-03-02 Steve 2 0
3 2021-03-03 Steve 0 4
问题是我有很多这样的日期列,我不知道如何检查Day
columns 与列名相同,并聚合其值。
感谢您的帮助。