Ошибка Getiing при преобразовании кадра данных в список - PullRequest
0 голосов
/ 13 сентября 2018

Ниже приведен код, который импортировал данные во фрейм данных, но не смог преобразовать их в список. Получение TypeError: объект 'list' не вызывается

import pandas
import numpy
import random
dataframe = pandas.read_csv('data.csv')
list= ['Gender']
dataset = dataframe.drop(list, axis=1)
print(list(dataset))

Ответы [ 3 ]

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

Проблема в кодовой переменной list в качестве имени переменной, лучше использовать L.

Решение переназначается list на list = builtins.list или после переименования переменной перезапустите вашу IDE:

import pandas as pd
import numpy as np
import random
import builtins

#reassign list
list = builtins.list

dataframe = pd.read_csv('data.csv')
L = ['Gender']
dataset = dataframe.drop(L, axis=1)
#if want columns names in list
print(list(dataset))
#if want all values of df to nested lists
print(dataset.values.tolist())
0 голосов
/ 13 сентября 2018

В python вы можете переопределить ключевые слова языка и типы данных, в вашем случае - тип данных list.Посмотрите:

print('type of list: {0}'.format(type(list)))
list = ['Gender']
print('type of list: {0}'.format(type(list)))

выходы:

type of list: <type 'type'>
type of list: <type 'list'>

Я бы предложил изменить имя вашей переменной на что-то отличное от list

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

Вы создали переменную с именем list, поэтому при попытке вызвать конструктор list вы столкнулись с ошибкой, поскольку list теперь ссылается на list вместо конструктора типа.Не используйте встроенные имена в качестве имен переменных.

Вы также можете просто использовать dataset.columns.tolist()

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