【发布时间】:2026-01-30 15:10:02
【问题描述】:
我有一个设计选择不佳的数据框,如下所示:
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”列中,我将对值求和(此列中苹果的 nr 和香蕉的 nbr)。
它希望结果数据框看起来像这样:
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列中的值是否与列名相同,并聚合它的值.
感谢您的帮助。
【问题讨论】: