【发布时间】:2020-05-27 22:18:11
【问题描述】:
我的数据框以季度和周为 MultiIndex:
Quarter Week X Y Z
Q1 Q1-W01 1 1 1
Q1-W02 2 2 2
Q1-W03 3 3 3
Q1-W04 4 4 4
Q2 Q2-W15 15 15 15
Q2-W16 16 16 16
Q2-W17 17 17 17
Q2-W18 18 18 18
我正在尝试将 Q1 (Q1-W04) 中的最后一行添加到 Q2 (Q2-W15 到 Q2-W18) 中的所有行中。这就是我希望数据框的样子:
Quarter Week X Y Z
Q1 Q1-W01 1 1 1
Q1-W02 2 2 2
Q1-W03 3 3 3
Q1-W04 4 4 4
Q2 Q2-W15 19 19 19
Q2-W16 20 20 20
Q2-W17 21 21 21
Q2-W18 22 22 22
当我尝试仅指定 0 级索引并对特定行求和时,所有 Q2 值都变为 NaN。
df.loc['Q2'] += df.loc['Q1','Q1-W04']
Quarter Week X Y Z
Q1 Q1-W01 1 1 1
Q1-W02 2 2 2
Q1-W03 3 3 3
Q1-W04 4 4 4
Q2 Q2-W15 NaN NaN NaN
Q2-W16 NaN NaN NaN
Q2-W17 NaN NaN NaN
Q2-W18 NaN NaN NaN
我发现如果我同时指定0级和1级索引,是没有问题的。
df.loc['Q2','Q2-W15'] += df.loc['Q1','Q1-W04']
Quarter Week X Y Z
Q1 Q1-W01 1 1 1
Q1-W02 2 2 2
Q1-W03 3 3 3
Q1-W04 4 4 4
Q2 Q2-W15 19 19 19
Q2-W16 16 16 16
Q2-W17 17 17 17
Q2-W18 18 18 18
有没有办法将特定行与 Q2 0 级索引中的所有行相加,而不必通过其 1 级索引单独调用每一行?
任何见解/指导将不胜感激。
谢谢。
【问题讨论】:
-
用 .values 添加值
-
你可以输入答案@YOBEN_S。
标签: python pandas dataframe multi-index