为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas.read_csv 未读取完整标题

Pandas.read_csv 未读取完整标题

哔哔one 2021-06-13 12:08:26
我有一个 csv 文件,其中保存了粒子的位置和速度,如下所示:x, y, z, vx, vy, vz-0.960, 0.870, -0.490, 962.17, -566.10, 713.401.450, 0.777, 2.270, -786.27, 63.31, -441.00-3.350, -1.640, 1.313, 879.20, 637.76, -556.24-0.504, 2.970, -0.278, 613.22, -717.32, 557.020.338, 0.220, 0.090, -927.18, -778.77, -443.05...我正在尝试读取此文件并将其另存为 Pandas 数据框,并使用 read_csv 脚本保存在脚本中。但是在调用除第一列之外的任何列时我都会出错AttributeError: 'DataFrame' 对象没有属性 'y'我永远不会得到“x”列的错误,所以我写了一个片段来看看我是否能找出读取错误的来源。import pandas as pddata = pd.read_csv('snap.csv')print dataprint data.xprint data.y控制台正确打印出来          x      y      z       vx       vy       vz       0    -0.960  0.870 -0.490   962.17  -566.10   713.40   1     1.450  0.777  2.270  -786.27    63.31  -441.00   2    -3.350 -1.640  1.313   879.20   637.76  -556.24  3    -0.504  2.970 -0.278   613.22  -717.32   557.02  4     0.338  0.220  0.090  -927.18  -778.77  -443.05 ...这意味着它正在为列分配正确的名称。然后0      -0.9601       1.4502      -3.3503      -0.5044       0.338  ...显示它可以正确取出其中一列。但是当尝试打印第二列时它再次抛出错误AttributeError: 'DataFrame' 对象没有属性 'y'然后我循环遍历 data.itertuples() 以单独打印第一行以查看它的样子,并确认名称仅分配给第一列而没有其他任何列。Pandas(Index=0, x=-0.96, _2=0.87, _3=-0.49, _4=962.17, _5=-566.1, _6=713.4)数据没有任何其他问题。这些值都对应于正确的索引。只是名称没有正确分配,只能按名称调用第一列。我尝试在每个列名周围加上单引号,这显示了完全相同的错误。我知道有一些方法可以解决这个问题,例如在 read_csv 函数中分配名称,但我很好奇问题实际上是什么,以避免再次发生这种情况。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 273 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号