【发布时间】:2016-11-17 12:41:15
【问题描述】:
我有一个如下形式的 pandas 数据框:
id grp values1 values2 0 1 a_1 2 4 1 1 a_2 3 6 2 1 b_1 4 8 3 2 b_2 5 10 4 2 c_1 6 12 5 3 z_1 7 14 6 4 y_1 8 16 7 5 a_1 9 18 8 5 a_2 10 20 9 5 a_1 11 22 10 5 a_2 12 24 11 7 z_1 13 26 12 8 q_1 14 28 13 9 a_2 15 30 14 9 a_1 16 32我想要的是一个简化的数据框,其中包含“a_1”和“a_2”的行和 id 仅用于 ID 组,如下所示。
id grp values1 values2 7 5 a_1 9 18 8 5 a_2 10 20 9 5 a_1 11 22 10 5 a_2 12 24 13 9 a_2 15 30 14 9 a_1 16 32在对 id 变量进行计数时,结束数据帧应该有偶数,因为组值成“对”,即“a_1”和“a_2”在一起。此外,这应该适用于任意数量的“按列分组”,例如 id 列。
数据框的代码贴在下面:
df = pd.DataFrame({'id' : [1,1,1,2,2,3,4,5,5,5,5,7,8,9,9]
,'grp' : ['a_1', 'a_2', 'b_1', 'b_2', 'c_1', 'z_1', 'y_1', 'a_1', 'a_2', 'a_1', 'a_2', 'z_1', 'q_1', 'a_2','a_1']
,'values1' : [i for i in range(2,17,1)]
,'values2' : [i for i in range(4,33,2)]
})
感谢您的考虑、时间和投入!
【问题讨论】: