【发布时间】:2018-12-24 06:31:08
【问题描述】:
我有两个按对象分组的熊猫,我想对它们的值求和。我无法弄清楚如何合并这两个数据框,以便CALL_BLOCK 列具有该DOW 的所有十个调用块,并对这些值求和。我尝试了几种方法,例如重置索引和合并两个数据帧,但我仍然无法获得列CALL_BLOCKS 的所有十个调用块。我会感谢你的帮助。提前非常感谢。
已编辑
df1 = {('1-100019B', 'a_8:00AM to 9:00AM'): 0.6493506493506493,
('1-100019B', 'b_9:00AM to 10:00AM'): 0.7272727272727273,
('1-100019B', 'c_10:00AM to 11:00AM'): 0.16883116883116883,
('1-100019B', 'd_11:00AM to 12:00PM'): 0.025974025974025976,
('1-100019B', 'e_12:00PM to 1:00PM'): 0.38961038961038963,
('1-100019B', 'f_1:00PM to 2:00PM'): 0.14285714285714285,
('1-100019B', 'g_2:00PM to 3:00PM'): 0.0,
('1-100019B', 'h_3:00PM to 4:00PM'): 0.12987012987012986,
('1-100019B', 'i_4:00PM to 5:00PM'): 0.0,
('1-100019B', 'j_After 5PM'): 0.0}
df2 =
{('1-100019B', 0, 'a_8:00AM to 9:00AM'): 0.5,
('1-100019B', 0, 'b_9:00AM to 10:00AM'): 0.6666666666666666,
('1-100019B', 0, 'c_10:00AM to 11:00AM'): 0.25,
('1-100019B', 0, 'e_12:00PM to 1:00PM'): 0.3333333333333333,
('1-100019B', 0, 'f_1:00PM to 2:00PM'): 0.0,
('1-100019B', 0, 'h_3:00PM to 4:00PM'): 1.0}
预期输出:
df =
CONTACT_ID DOW CALL_BLOCKS
1-100019B 0 a_8:00AM to 9:00AM 1.149
b_9:00AM to 10:00AM 1.380
c_10:00AM to 11:00AM 0.410
d_11:00AM to 12:00PM 0.026
e_12:00PM to 1:00PM 0.710
f_1:00PM to 2:00PM 0.140
g_2:00PM to 3:00PM 0.000
h_3:00PM to 4:00PM 1.120
i_4:00PM to 5:00PM 0.000
j_After 5PM 0.000
【问题讨论】:
-
你能把 df1.to_dict() 和 df2.to_dict() 添加到这个问题中吗?
-
嗨,斯科特,已编辑。这有帮助吗?
标签: python python-3.x pandas indexing pandas-groupby