Выполните операцию на нескольких фреймах данных и добавьте их в разные списки. - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь преобразовать некоторые данные в несколько фреймов данных, которые будут давать разные результаты. Поэтому я хочу добавить эти результаты в разные списки в словаре.

Пока мой путь работает, Мне было интересно, есть ли лучший способ добиться этого?

columns = ["Product_" + str(i) + "_flag" for i in np.arange(1, 6)] +\
          ["Product_" + str(i) + "_days" for i in np.arange(1, 6)]

## mock dfs
df_1 = pd.DataFrame(np.concatenate((np.random.binomial(1, 0.5, size=(5, 5)),
                  np.random.random_integers(0, 100, size=(5, 5))), axis=1),
                columns=columns)
df_2 = pd.DataFrame(np.concatenate((np.random.binomial(1, 0.5, size=(5, 5)),
                  np.random.random_integers(0, 100, size=(5, 5))), axis=1),
                columns=columns)

# list of dfs (not used)
dfList = [df_1, df_2]

# groupby object
grouped = df_1.groupby(lambda x: re.match("^(.*?)\_\S", x).group(), axis=1)

# dictionary of empty lists
my_list = ['dfList_y', 'dfList_x']
myLists = {key: [] for key in my_list}

# data manipulation
for name, group in grouped:
    print('group name:', name)
    print(group)
    print(group.columns)
    myLists['dfList_y'].append(df_1.drop(group.columns, axis=1))
    myLists['dfList_x'].append(df_2.drop(group.columns, axis=1))

По сути, эти две строки ниже меня интересуют , если есть несколько советов и приемов для понимания списков / диктов, чтобы сделать это лучше.

myLists['dfList_y'].append(df_1.drop(group.columns, axis=1))
myLists['dfList_x'].append(df_2.drop(group.columns, axis=1))

РЕДАКТИРОВАТЬ: Дополнительный вопрос: Можно ли назвать список индексов с групповыми именами? Таким образом, можно получить доступ к dict, например, myLists['dfList_y]['group_1']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...