Python панды, как я могу создать приращение нескольких переменных, используя итерацию - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть фрейм данных, называемый df

Category    block   array_size  num_node    num_task    time
 DATA         2     100             1          1        0.104
 DATA         2     100             1          2        0.348
 DATA         2     100             1          1        2.837 
 DATA         2     1000            1          1        29.188
 DATA         2     1000            1          1       284.087

С этим фреймом данных я хочу узнать mean значение каждой конфигурации.Итак, переменные, которые я хочу получить: (df_foo _ {# block} _ {# array_size} _ {# num_task}),

df_foo_2_100_1 = df.loc[
    (df["num_task"] == 1) & 
    (df["block"] == 2) & 
    (df["array_size"] == 100)]["time"].mean()
df_foo_2_1000_1 = df.loc[
        (df["num_task"] == 1) & 
        (df["block"] == 2) & 
        (df["array_size"] == 1000)]["time"].mean()

Как я могу автоматически создавать эти переменные с помощью цикла?

Спасибо!

1 Ответ

0 голосов
/ 12 сентября 2018

Вы можете сделать groupby

df.loc[(df["num_task"] == 1) & (df["block"] == 2)].groupby('array_size').time.mean()
Out[206]: 
array_size
100       1.4705
1000    156.6375
Name: time, dtype: float64

Похоже, вам нужно

df.groupby(['num_task','block','array_size']).time.mean()
Out[208]: 
num_task  block  array_size
1         2      100             1.4705
                 1000          156.6375
2         2      100             0.3480
Name: time, dtype: float64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...