Python - как я могу назначить столбцы для моего dataframe? - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть 2 списка, которые мне нужно поместить в фрейм данных.Первый список содержит имена переменных, а второй - значения.Я использую панды, чтобы назначить имена столбцов.Как я могу присвоить фактические значения?

varnames = ['Student_id','First_Name','Last_Name','Grade']
values = [['156841','Mark','Smith','85'],
          ['785496','Jason','Gross','90'],
          ['785612','Laura','Clarkson','76'],
          ['125465','Tria','Carr','100']]

data1 = pandas.DataFrame(columns = varnames)
print(data1)

Я пытался использовать append, но получаю следующую ошибку: объекты DataFrame являются изменяемыми, поэтому их нельзя хэшировать.

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019
import pandas as pd

varnames = ['Student_id','First_Name','Last_Name','Grade']
values = [['156841','Mark','Smith','85'],
         ['785496','Jason','Gross','90'],
         ['785612','Laura','Clarkson','76'],
         ['125465','Tria','Carr','100']]

data1 = pd.DataFrame(values, columns=varnames)
data1
0 голосов
/ 23 сентября 2019

Вы путаете аргумент columns в pandas.DataFrame с аргументом data;Документ говорит вам следующее:

  • columns аргумент только для списка имен столбцов

  • data аргумент для их значений, необязательно в качестве dict с именами столбцов в качестве ключей.Вот что вы пытаетесь передать:

    data1 = pandas.DataFrame(data = {'Student_id': ['156841','785496'...], 'First_Name': ['Mark','Jason'...]})

или в вашем случае:

pd.DataFrame(data=values, columns=varnames) @ as @AndyL noted

Вы можете получить то же самоевещь с запутанным синтаксисом:

pd.DataFrame(data=dict(zip(varnames, values)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...