这是我当前命名为out的数据帧
Date David_Added David_Removed Malik_Added Malik_Removed Meghan_Added Meghan_Removed Sucely_Added Sucely_Removed
02/19/2019 3 1 39 41 1 6 14 24
02/18/2019 0 0 8 6 0 3 0 0
02/16/2019 0 0 0 0 0 0 0 0
02/15/2019 0 0 0 0 0 0 0 0
02/14/2019 0 0 0 0 0 0 0 0
02/13/2019 0 0 0 0 0 0 0 0
02/12/2019 0 0 0 0 0 0 0 0
02/11/2019 0 0 0 0 0 0 0 0
02/08/2019 0 0 0 0 0 0 0 0
02/07/2019 0 0 0 0 0 0 0 0
我需要按日期对每个人的数据求和,显然跳过了日期列。我希望总数是列总和旁边的列。”用户添加,用户删除,用户总数”如下所示。我面临的问题是,前缀名称并不总是相同的,用户总数也会发生变化。 我的思考过程是计算列的总数。然后在他们之间循环计算,并将结果转储到每个用户的新列中。然后按字母顺序对列进行排序,以便将它们分组在一起
沿着这条线的东西
loops = out.shape[1]
while loop < loops:
out['User_Total'] = out['User_Added']+out['User_Removed']
loop += 1
out.sort_index(axis=1, inplace=True)
但是,我不确定如何通过索引调用整个列,或者这是否是一种处理它的好方法
下面是我希望输出的样子
Date David_Added David_Removed David_Total Malik_Added Malik_Removed Malik_Total Meghan_Added Meghan_Removed Meghan_Total Sucely_Added Sucely_Removed Sucely_Total
2/19/2019 3 1 4 39 41 80 1 6 7 14 24 38
2/18/2019 0 0 0 8 6 14 0 3 3 0 0 0
2/16/2019 0 0 0 0 0 0 0 0 0 0 0 0
2/15/2019 0 0 0 0 0 0 0 0 0 0 0 0
2/14/2019 0 0 0 0 0 0 0 0 0 0 0 0
2/13/2019 0 0 0 0 0 0 0 0 0 0 0 0
2/12/2019 0 0 0 0 0 0 0 0 0 0 0 0
2/11/2019 0 0 0 0 0 0 0 0 0 0 0 0
2/8/2019 0 0 0 0 0 0 0 0 0 0 0 0
2/7/2019 0 0 0 0 0 0 0 0 0 0 0 0
非常感谢您的帮助
将
groupby
与列split
一起使用或者:
我知道这并不是一个关于OP提出的问题的答案,而是一个关于解决他所面临问题的更好实践的建议
你有结构性问题。将数据帧建模为:
将使您输入的代码成为您问题的解决方案,同时处理可变的用户数
相关问题 更多 >
编程相关推荐