【发布时间】:2019-06-27 20:37:27
【问题描述】:
我正在编写一个代码,要求将 csv 文件中的列转换为列表。这是我得到的错误,AttributeError: 'DataFrame' object has no attribute 'name'
我尝试将所有内容更改为名称和名称,但没有成功。它只会更改错误消息。
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属性,并且您没有传入'name'作为列名之一,那么您想用 @ 引用什么987654324@? -
(顺便说一句,最佳做法是使用
df['column']而不是df.column访问数据框列,因为它可以帮助防止其中一些类型的歧义) -
data.nameinsidenames = data.name.tolist()未在您的colnames中定义。如果您将该声明注释掉,您的x = data.x.tolist()应该可以工作吗? -
@MigB 还值得注意的是,数据帧有一个
name属性,也可以由df.name访问,在这种情况下不清楚最初的意图是什么 -
@MigB 我同意这是最有可能的解释,但是我肯定看到了对熊猫工作原理的奇怪误解,而不是替代解释哈哈
标签: python python-3.x pandas csv dataframe