Как понять идеальный синтаксис для создания Pandas Dataframe из различных объектов, таких как словари и наборы - PullRequest
2 голосов
/ 30 апреля 2019

Я пытаюсь выучить Pandas Dataframe из разных объектов, таких как списки, ndarrays, словари, наборы и т. Д. Я понимаю, что синтаксис создания фрейма данных, приведенный на официальном сайте, выглядит следующим образом

DataFrame([data, index, columns, dtype, copy])

Но почему квадратные скобки (как показано в синтаксисе) не нужны в каждом сценарии. Я не могу понять, когда и где использовать квадратные скобки. Код, который я пробовал, приведен ниже

Код 1

my_set = {'T','a','g','s','l'}
print(pd.DataFrame([my_set]))

Code1 хочет, чтобы я указывал my_set в квадратных скобках, без чего он выдаст ошибку

Код 2

my_dict = {'T':(2,3),'z':(5,6)}
print(pd.DataFrame(my_dict))

почему синтаксис не используется в коде2. Почему квадратная скобка не нужна в code2

Код 1

my_set = {'T','a','g','s','l'}
print(pd.DataFrame([my_set]))

Код 2

my_dict = {'T':(2,3),'z':(5,6)}
print(pd.DataFrame(my_dict))

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Без скобок у меня работает и код 1 (набор), и код 2 (дикт). В Python скобки - это синтаксис для обозначения списка. Таким образом, [my_set] будет означать список, содержащий один элемент, который является набором.

Скобки, которые вы видели здесь

DataFrame([data, index, columns, dtype, copy])

Я считаю, что предназначены для обозначения необязательных параметров, а не списка. Вы можете создать фрейм данных без передачи аргументов, например, df = pd.DataFrame(), так что вполне вероятно, что это просто означает необязательные параметры. Ознакомьтесь с официальной документацией для получения дополнительной информации и примеров создания фреймов данных.

0 голосов
/ 30 апреля 2019

Существуют различные части этого qn, поэтому отвечаем по очереди.

  1. Вот конструктор DataFrame, скопированный из документации, а квадратная скобка отсутствует.

    класс pandas.DataFrame (data = None, index = None, column = None, dtype = None, copy = False)

  2. Квадратная скобка обозначает список, поэтому, если вы используете список Pythonчтобы построить DataFrame, вы должны использовать квадратную скобку.

    pd.DataFrame (['T', 'a', 'g', 's', 'l'])

  3. Если ваш тип данных установлен, а не список, вы можете преобразовать набор в список и использовать его для построения кадра данных.

    my_set = {'T', 'a', 'g ',' s ',' l '} pd.DataFrame (my_set)

Вы получаете

    0
0   a
1   s
2   T
3   l
4   g

Если вы передаете набор в список, вы создаете двумерную структуру:

my_set = {'T', 'a', 'g', 's', 'l '} pd.DataFrame ([my_set])

    0   1   2   3   4
0   a   s   T   l   g

Аналогичным образом вы можете создать кадр данных из словаря, не нужно заключать в квадратные скобки

my_dict = {'T ':( 2,3),' z ':( 5,6)} pd.DataFrame (my_dict)

    T   z
0   2   5
1   3   6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...