在Pandas中找到一个班级的最小(或最大)

时间:2017-12-09 23:21:25

标签: python pandas

我正在处理一个大型数据集(在python中有pandas),我有一个类似于以下结构的数据框:

awk_cmd='{ if ($4 == '"$1"') { gsub("  *"," ",$0); printf $0 } }'
printf "$(date +%s)$EPM_DB_SEP" >> "$EPM_RUN_DIR/$2.pid"
ps -e -o user,group,comm,pid,ppid,pgid,etime,nice,rgroup,ruser,time,tty,vsz,stat,rss,args |\
    awk "$awk_cmd" >> "$EPM_RUN_DIR/$2.pid"
然而,

这些课程在数据框架中不断增长;缺少一些值,如示例中所示。我想知道如何从每个班级获得简单的统计数据,例如min或max,并将其分配给新功能。

   class   value
0    1       6
1    1       4
2    1       5
3    5       6
4    5       2
...
n   225      3

我能想出的唯一解决方案是耗时的循环。

1 个答案:

答案 0 :(得分:5)

使用transform

df['min']=df.groupby('class')['value'].transform('min')
df
Out[497]: 
   class  value  min
0      1      6    4
1      1      4    4
2      1      5    4
3      5      6    2
4      5      2    2