我有以下的形式上的熊猫数据帧:使用大熊猫基通过选择特定的子组
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”的行和IDS的减小的数据帧和“ a_2“仅适用于如下所示的ID组。做了自组值id变量的计数变为“对”,即,“A_1”和“A_2”的时候一起
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列一样。
的数据帧的代码下面贴:
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)]
})
感谢的考虑,时间和投入!
就在钱上,我知道ix方法,但didn没有用这种直截了当的方式来想它。假设我想包含id组1,它有1个grp。值与其他值不同,并且同时不包含任何包含额外值的其他grp,即“b_1”。 – swepab
此外,数字需要是偶数,因为在我的数据中有三行,即“a_1”,“a_1”和“a_2”,并且该id不应该包含在简化数据中帧! – swepab
我不明白你的意思,如果你想添加另一个条件,请按照上面的模板与另一个|你会吃饭。对于第二个问题,如果您正在讨论重置索引,请尝试df.reset_index(drop = True,inplace = True) – Wboy