我注意到,也有pd.DataFrame.groupby
幾種用途後跟apply
隱含假設groupby
是stable - 也就是說,如果一個和b是同組的情況下,和預分組,一個在b之前出現,然後a將在分組之後出現在b之前。pandas.DataFrame.groupby是否保證穩定?
我認爲有幾個答案明確隱含地使用這個,但具體來說,這裏是one using groupby
+cumsum
。
有沒有什麼實際上有希望這種行爲?該文件只規定:使用映射
系列集團(字典或鍵功能,適用於給定功能分組,返回結果爲系列)或通過一系列的列。
另外,具有索引的熊貓,理論上也可以在沒有這種保證的情況下實現功能(儘管以更麻煩的方式)。
對不起你要問,如果兩行說'了'和'B'必須是他們保證在相同的順序分組後相同的值?我敢肯定,我已經看到,雖然他們執行穩定的代碼,我不得不再次找到這個代碼 – EdChum
@EdChum是的,如果我正確理解你。如果行* a *和* b *與分組標準相同(它們將最終在同一組中),它們是*保證*是否保留其分組後的順序。我一直在實踐中看到它,但有些擔心文檔似乎不能保證這一點。 –
我一直都看到過這種行爲,從來沒有見過任何其他類型的行爲,文檔沒有指定或保證這一點並不會影響我,但我已經看到,雖然通過代碼大量的評論和參考執行穩定排序,這對我來說是合乎邏輯的,因爲如果分組決定改變原始順序,那麼替代方法就是將'transform'這樣的函數合併回原始df索引 – EdChum