我正在嘗試將列值的聚合出現輸入到同一Dataframe. 我試圖計算日期列,并將這些事件輸入到一個dict值中,并將日期作為dict鍵。然后當我嘗試(布林值)匹配時df["count"] = df[df[column]==my_dict.keys],邏輯在我身上失敗。我錯過了如果為真,則輸入 my_dict.values() 的部分。
的Dataframe:
Date Place_code
14 2020-04-20 282
16 2020-04-23 301
18 2020-04-22 291
20 2020-04-22 422
21 2020-04-22 422
期望的Dataframe輸出:
Date Occurrence Place_code
14 2020-04-20 1 282
16 2020-04-23 1 301
18 2020-04-22 3 291
20 2020-04-22 3 422
21 2020-04-22 3 422
還請原諒標題,英語不是我的母語。
uj5u.com熱心網友回復:
你可以試試這個襯墊:
df['Occurrence'] = df['Date'].replace(df.groupby('Date').apply(lambda x: len(x))
uj5u.com熱心網友回復:
一種選擇是使用transform回傳與原始資料幀相同的長度:
df.assign(Occurence = df.groupby('Date').transform('count'))
# df.assign(Occurence = df.groupby('Date').transform(len))
Date Place_code Occurence
14 2020-04-20 282 1
16 2020-04-23 301 1
18 2020-04-22 291 3
20 2020-04-22 422 3
21 2020-04-22 422 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/371457.html
上一篇:在串列中附加一個csv行
下一篇:在groupby之后使用第一列?
