简体   繁体   中英

How to loop over group by pandas dataframes?

I'm beginner with Python and I have this code :

levage_mean = df.groupby('cum_cycle_id')['levage'].mean().rename("levage_mean")
levage_min = df.groupby('cum_cycle_id')['levage'].min().rename("levage_min")
levage_max = df.groupby('cum_cycle_id')['levage'].max().rename("levage_max")
levage_sum = df.groupby('cum_cycle_id')['levage'].sum().rename("levage_sum")

load_min= df.groupby('cum_cycle_id')['load'].min().rename("load_min")
load_max = df.groupby('cum_cycle_id')['load'].max().rename("load_max")
load_mean = df.groupby('cum_cycle_id')['load'].mean().rename("load_mean")
load_sum = df.groupby('cum_cycle_id')['load'].sum().rename("load_sum")
load_median = df.groupby('cum_cycle_id')['load'].median().rename("load_median")`

And I would like to put it in a loop because it is too repetitive, how can I do ?
Thank you for your respond !

You can try this:

init_list = []
my_list = ['leaf_', 'load_']
mean_min_max_list = ['mean', 'min', 'max', 'sum']
for item in my_list:
    for ele in mean_min_max_list:
        curr = df.groupby('cum_cycle_id')[item].mean().rename(item + ele)
        init_list.append(curr)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM