[英]creating new column with the sum of the past 24 hours
對於以下 dataframe:df_data,有沒有辦法創建一個新列來計算過去 24 小時或前一天的車輛數量?
df_data = {'day_of_year' : [1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2], 'nr_of_vehicles' : [254,154,896,268,254,501,840,868,654,684,684,681,632,468,987,134,336,119,874,658,121,254,154,896,268,254,501,840,868,654,684,684,681,632,468,987,134,336,119,874,658,121,268,254,501,840,868,654], 'hour' : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]}
視覺表示(nr_of_vehicles 每小時計數):
我想通過使用以下方法按 day_of_year 對數據進行分組
df_data_day = df_data.groupby('day_of_year').agg({'nr_of_vehicles': 'sum'})
但我不知道如何將其正確分配給列,因為原始 dataframe 中有更多行。
你不遠:你只需要使用transform
而不是agg
:
df_data_day = df_data.groupby('day_of_year')['nr_of_vehicles'].transform('mean')
您甚至可以直接添加一個新列:
df_data['nr_by_day'] = df_data.groupby('day_of_year')['nr_of_vehicles'].transform('mean')
順便說一句:當你的標題說總和時,我使用了你提出的計算平均值的代碼......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.