我有一个看起来像这样的数据框: M V 2019-07-11 2019-04-13 2019-07-11 2019-04-14NI 1 2 4 9我希望输出仅对 的值求和M,然后分别对 的值求和V,其中每个都作为新行添加到单独的数据帧中,如下所示: | Total----------M | 3----------V | 13----------那么我怎样才能分别求和M,V并将每个添加为自己的行呢?
2 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
使用数据,df 为:
M V
2019-07-11 2019-04-13 2019-07-11 2019-04-14
NI 1 2 4 9
然后你可以使用:
df.T.sum(level=0)
或者
df.groupby(df.columns.get_level_values(0), axis=1).sum().T
输出:
NI
M 3
V 13
使用 str get 或 split 对部分列名尝试 groupby by axis=1:
df1 = df.set_index('Unnamed: 0')
df1.groupby(df1.columns.str[0], axis=1).sum().T
或更通用的列中的更多字符
df1.groupby(df1.columns.str.split('.').str[0], axis=1).sum().T
输出:
Unnamed: 0 NI
M 3
V 13
其中 df 是:
Unnamed: 0 M M.1 V V.1
0 NI 1 2 4 9
添加回答
举报
0/150
提交
取消