我有一個數據幀df數以千計的項目,其中列「組」的值重複兩到十次。該數據框有七列,其中之一被命名爲「url」;另一個「國旗」。所有這些都是字符串。使用.apply()來比較元素
我想用熊貓來遍歷這些羣體。對於每個組,我希望找到「url」列中的最長項目,並在與該項目對應的「標誌」列中存儲「0」或「1」。我嘗試了以下方法,但無法使其工作。我想1)擺脫下面的循環,和2)能夠通過df.apply(...)
all_groups = df["group"].drop_duplicates.tolist()
for item in all_groups:
df[df["group"]==item].apply(lambda x: Here I would like to compare the items within one group)
可以申請()和拉姆達比較組中的所有項目中使用這種情況下?任何更快的方式來實現這一點?
謝謝!
用預期的輸出發佈示例DataFrame會很有幫助。 – Alex
'.apply'並不快。它應該被用作*最後的手段*,因爲它僅僅是一個python for-loop的包裝,有點小管家,使它比許多次的直接for循環慢。你爲什麼不提供輸入數據的例子,以及你期望的輸出的例子...... –
你可能會發現'.groupby()。transform()'比'.apply()'更有用。 – AChampion