“如何修复”;属性错误";在python中使用熊猫时
我正在编写一个代码,要求将csv文件中的列转换为列表。这是我得到的错误,AttributeError:“DataFrame”对象没有属性“name” 我试着把所有的名字都改成“名字”和“名字”,但没有成功。它只会更改错误消息“如何修复”;属性错误";在python中使用熊猫时,python,python-3.x,pandas,csv,dataframe,Python,Python 3.x,Pandas,Csv,Dataframe,我正在编写一个代码,要求将csv文件中的列转换为列表。这是我得到的错误,AttributeError:“DataFrame”对象没有属性“name” 我试着把所有的名字都改成“名字”和“名字”,但没有成功。它只会更改错误消息 with open('The Project- 6-21 E on leg arc test 1.csv', "r") as csvfile: colnames = [ 'sensor', 'x', 'y', 'z', 'azimuth', 'elevation'
with open('The Project- 6-21 E on leg arc test 1.csv', "r") as csvfile:
colnames = [ 'sensor', 'x', 'y', 'z', 'azimuth', 'elevation', 'roll', 'timestamp']
data = pd.read_csv('The Project- 6-21 E on leg arc test 1.csv', names = colnames)
names = data.name.tolist()
x = data.x.tolist()
它应该总共创建三个列表(并非全部显示),但当前正在挂起name要使用
pd.read\u csv()
函数,您不需要在之前打开()您的.csv文件
另一点是,您尝试调用未定义的键(查找我的注释)
要使用
pd.read\u csv()
函数,您不需要在使用之前open()
您的.csv文件
另一点是,您尝试调用未定义的键(查找我的注释)
如果您收到错误消息,请在问题中包含完整的错误回溯,因为这有助于诊断问题。在这种情况下,您似乎没有设置dataframe的
.name
属性,也没有将'name'
作为列名之一传入,因此您试图用data.name
引用什么?(另一方面,最佳做法是使用df['column']访问dataframe列)
而不是df.column
,因为它有助于防止某些类型的歧义)data.name
内names=data.name.tolist()
未在colnames
内定义。如果您将该语句注释掉,您的x=data.x.tolist()
应该可以工作?@MigB还值得注意的是,数据帧有一个name
属性,该属性也可以通过df.name
访问,在这种情况下,不清楚其原始意图是什么was@MigB我同意这是最可能的解释,然而,我确实看到了比其他解释更奇怪的对熊猫如何工作的误解。如果你收到错误信息,请在你的问题中包含完整的错误回溯,因为这可以帮助诊断问题。在这种情况下,您似乎没有设置dataframe的.name
属性,也没有将'name'
作为列名之一传入,因此您试图用data.name
引用什么?(另一方面,最佳做法是使用df['column']访问dataframe列)
而不是df.column
,因为它有助于防止某些类型的歧义)data.name
内names=data.name.tolist()
未在colnames
内定义。如果您将该语句注释掉,您的x=data.x.tolist()
应该可以工作?@MigB还值得注意的是,数据帧有一个name
属性,该属性也可以通过df.name
访问,在这种情况下,不清楚其原始意图是什么was@MigB我同意这是最可能的解释,然而,我确实看到了对熊猫如何工作的更奇怪的误解,而不是关于熊猫内置上下文管理器的另一种解释,这是一个非常好的观点read_csv
关于熊猫内置上下文管理器的非常好的观点read_csv
import pandas as pd
colnames = [ 'sensor', 'x', 'y', 'z', 'azimuth', 'elevation', 'roll', 'timestamp']
data = pd.read_csv('The Project- 6-21 E on leg arc test 1.csv', names = colnames)
#names = data.name.tolist()
#^^^not working, because data.name (= date['name']) doesn't exist in your colnames
x = data.x.tolist()