我想创建一个存储单个列的所有值的列表。 例如,我们说我的文件有一个名为' FirstNames'对于前3行,'名称'专栏有Merry,Pippin,Frodo。
我想创建一个类似[Merry,Pippin,Frodo]的列表
我尝试这样做:
import pandas as pd
data = pd.read_csv(".../TrainingFile.csv")
list = []
names = data['FirstNames']
for i in range(0,2):
list.append(names[i:i+1])
print(list)
然而,列表不仅存储单元格中的值,而且还给出了这样的输出:
名称:FirstName,dtype:object,1 Merry
名称:FirstName,dtype:object,2 Pippin
名称:FirstName,dtype:object,3 Frodo
我该怎么改变?谢谢你的帮助。
Bonus:而不是范围(0,2)我如何定义范围,以便它遍历文件中的行数?
答案 0 :(得分:2)
请不要使用list
,type
,id
等保留字作为变量,因为屏蔽了内置函数。
如果稍后在代码中使用list
,例如
list = data['FirstNames'].tolist()
#another solution for converting to list
list1 = list(data['SecondNames'])
得到非常奇怪的错误,调试非常复杂。
所以需要:
L = data['FirstNames'].tolist()
或者:
L = list(data['FirstNames'])
答案 1 :(得分:-1)
因为您使用的是保留变量名称。 不使用list,而是使用list1或其他东西作为变量名。
python中保留的变量名称很少是: dict,str,list,int,pass 等,我们错误地使用了它们。尽量避免它。