Преобразование pandas DataFrame в списки с именами столбцов в качестве имен списков [дубликаты]

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

import pandas as pd

d = {'A' : [1, 2, 3, 4],
     'B' : ['x', 'y', 'z', 'w']}

df = pd.DataFrame(d)

print(df)

   A  B
0  1  x
1  2  y
2  3  z
3  4  w

Желаемый результат должен иметь

A = [1,2,3,4]
B = ['x', 'y', 'z', 'w']

Я знаю, как получить имена столбцов, а также значения в формате списка по отдельности или вместе следующими способами:

test1 = df.T.reset_index().values.tolist()
print(test1)
[['A', 1, 2, 3, 4], ['B', 'x', 'y', 'z', 'w']]

test2 = df.T.values.tolist()        
print(test2)
[[1, 2, 3, 4], ['x', 'y', 'z', 'w']]

test3 = df.columns.values.tolist()
print(test3)
['A', 'B']                 

Но я не могу понять, могу ли/как я могу назвать списки, созданные в test2, именами, заданными именами столбцов.


person elol    schedule 13.12.2017    source источник
comment
Ага, понятно. Вы хотите создать переменное количество переменных.   -  person cs95    schedule 13.12.2017
comment
Переберите df.columns и df.T.values.tolist() и назначьте словарю.   -  person cs95    schedule 13.12.2017
comment
На мой взгляд лучший d = df.to_dict('l')   -  person jezrael    schedule 13.12.2017
comment
Просто создайте словарь столбцов в виде ключей и значений в виде lists. Тогда для выбора нужно print (d['A'])   -  person jezrael    schedule 13.12.2017
comment
@cᴏʟᴅsᴘᴇᴇᴅ Для меня не очевидно, что это дублирующийся вопрос, но я мог бы быть более ясным, что хочу добиться предложенного решения без необходимости выписывать имена списков (автоматическое получение имен списков необходимо из-за больших Число столбцов). Кроме того, я принимаю ваш звонок относительно дублирующего характера моего вопроса. Я подробно рассмотрю другой вопрос, чтобы посмотреть, что я могу узнать, я не видел его раньше.   -  person elol    schedule 13.12.2017
comment
@jezrael На самом деле это был не ответ на вопрос, который я задал, но вы предоставили даже лучшее решение, чем то, которое я имел в виду. Спасибо.   -  person elol    schedule 13.12.2017
comment
@elol - Это для обсуждения, обман это или нет, по-моему, нет. Но у cᴏʟᴅsᴘᴇᴇᴅ другое мнение, так что я его уважаю и не хочу повторно задавать вопросы.   -  person jezrael    schedule 13.12.2017