簡體   English   中英

Pandas dataframe 按列分組並在不同列上應用最小值、最大值、平均值

[英]Pandas dataframe group by column and apply min, max, average on different columns

我正在尋找一種方法來轉換下面的這個 dataframe

itemid  clock   value_min   value_avg   value_max   item_type
A1  27/05/2021    4             7           38          cpu
A2  27/05/2021    4             5           15          mem
B1  27/05/2021    1             2           5           cpu
B2  27/05/2021    3             20          86          mem
A1  28/05/2021    8             8           9           cpu
A2  28/05/2021    1             2           5           mem
B1  28/05/2021    0             1           2           cpu
B2  28/05/2021    4             7           8           mem

itemid  value_min   value_avg   value_max   item_type
A1       4           7,5          38           cpu
A2       1           3,5          15           mem
B1       0           0,5           5           cpu
B2       3           3,5          86           mem

我想按 itemid 分組,然后應用規則

  • 其中 value_min 列是最小值,
  • 其中列 value_avg 是平均值
  • 其中 value_max 列是最大值

這應該回答你的問題:

df = df.groupby('itemid').agg({'value_min': 'min', 'value_avg': 'mean', 'value_max': 'max', 'item_type': 'first'})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM