我有以下的形式上的熊貓數據幀:使用大熊貓基通過選擇特定的子組
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