Есть ли эффективный способ создания DataFrame, используя lo c с несколькими строками? - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь создать фрейм данных, используя приведенный ниже код, который очень длинный и неэффективный. Есть ли другие хорошие способы вместо этого, как для-l oop?

data = {
    'MODEL' : ['a', 'b','c', 'd', 'e'],
    'median' : [
               df.loc[df['MODEL'] == 'a', 'total'].median(),
               df.loc[df['MODEL'] == 'b', 'total'].median(),
               df.loc[df['MODEL'] == 'c', 'total'].median(),
               df.loc[df['MODEL'] == 'd', 'total'].median(),
               df.loc[df['MODEL'] == 'e', 'total'].median(),
               ],
     'sd' : [
               df.loc[df['MODEL'] == 'a', 'total'].std(),
               df.loc[df['MODEL'] == 'b', 'total'].std(),
               df.loc[df['MODEL'] == 'c', 'total'].std(),
               df.loc[df['MODEL'] == 'd', 'total'].std(),
               df.loc[df['MODEL'] == 'e', 'total'].std(),
             ],
     'min' : [
               df.loc[df['MODEL'] == 'a', 'total'].min(),
               df.loc[df['MODEL'] == 'b', 'total'].min(),
               df.loc[df['MODEL'] == 'c', 'total'].min(),
               df.loc[df['MODEL'] == 'd', 'total'].min(),
               df.loc[df['MODEL'] == 'e', 'total'].min(),           
             ],

    'max' : [
               df.loc[df['MODEL'] == 'a', 'total'].max(),
               df.loc[df['MODEL'] == 'b', 'total'].max(),
               df.loc[df['MODEL'] == 'c', 'total'].max(),
               df.loc[df['MODEL'] == 'd', 'total'].max(),
               df.loc[df['MODEL'] == 'e', 'total'].max(),

            ]   
     }
model_stat = pd.DataFrame(data)
...