将数据框转换为列表时出错
Posted
技术标签:
【中文标题】将数据框转换为列表时出错【英文标题】:Getiing error while converting a dataframe to a list 【发布时间】:2019-02-17 19:36:39 【问题描述】:以下是代码,将数据导入数据框但无法将其转换为列表。获取 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))
【问题讨论】:
【参考方案1】:在 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
以外的其他名称
【讨论】:
【参考方案2】:问题是代码变量list
作为变量名,最好使用L
。
解决方案是通过list = builtins.list
重新分配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())
【讨论】:
@user3483203 - 谢谢。 也可以del list【参考方案3】:您创建了一个名为list
的变量,因此当您尝试调用list
构造函数时会遇到错误,因为list
现在指的是list
,而不是类型构造函数。不要使用内置名称作为变量名。
你也可以只使用dataset.columns.tolist()
【讨论】:
以上是关于将数据框转换为列表时出错的主要内容,如果未能解决你的问题,请参考以下文章
在 C# ASP.net 中将文本框内容转换为 DateTime 格式时出错
将 R data.frame 强制转换为 nz.data.frame 时出错