我使用的是python3.4.0和pandas==0.16.2。我在CSV文件中有足球队的结果,文件中有以下列:日期,时间,进球。得分, 目标。丢失,结果。“at”列可以有三个值(H,A,N)中的一个,分别指示比赛是在球队的主场、客场还是在中立的地方进行。这是其中一个档案的头像:
date,at,goals.scored,goals.lost,result
16/09/2014,A,0,2,2
01/10/2014,H,4,1,1
22/10/2014,A,2,1,1
04/11/2014,H,3,3,0
26/11/2014,H,2,0,1
09/12/2014,A,4,1,1
25/02/2015,H,1,3,2
17/03/2015,A,2,0,1
19/08/2014,A,0,0,0
当我把这个文件加载到熊猫.DataFrame以通常的方式:
^{pr2}$前两列“date”和“at”似乎被视为一列,我得到了一个格式不正确的数据帧,如下所示:
aTeam.dtypes
at object
goals.scored int64
goals.lost int64
result int64
dtype: object
aTeam
at goals.scored goals.lost result
date
2014-09-16 A 0 2 2
2014-01-10 H 4 1 1
2014-10-22 A 2 1 1
2014-04-11 H 3 3 0
2014-11-26 H 2 0 1
...
代码块没有清楚地反映出腐败,所以我附上了Jupyter笔记本的截图:
如您所见,“date”和“at”列似乎被视为对象类型的一列:
aTeam['at']
date
2014-09-16 A
2014-01-10 H
2014-10-22 A
2014-04-11 H
2014-11-26 H
2014-09-12 A
起初,我认为日期周围缺少引号是导致这个问题的原因,所以我添加了这些,但这一点也没有帮助,所以我引用了“at”列中的所有值,这些值仍然没有解决问题。我在CSV文件中尝试了单引号和双引号。有趣的是,在'date'和'at'中使用不带引号或双引号的值会产生与上面相同的结果。单引号在“at”列中被解释为值的一部分,而不是在“日期”列中:
添加parse_dates=True
参数对数据帧没有任何影响。在
我没有这样的问题,当我与这些CSV文件在R。我将感谢任何帮助,这一个。在
我在这里没有问题(使用python2.7,Pandas 16.2)。我使用你粘贴的文本,在我的桌面上创建了一个.csv文件,并使用两种方法将其加载到Pandas中
在如何处理索引时,您可以看到read_csv和from_csv命令之间的不同行为。不过,我看不出你提到的问题。您可以尝试进一步定义read_csv参数,但我怀疑这是否会带来实质性的不同。在
你能通过aTeam['at']查询数据帧来确认你的日期和“at”列是被粉碎在一起的吗?在
我可以使用from\csv复制您的问题,问题是它使用col 0作为索引,因此传递
index_col=None
将起作用:索引列:int或sequence,默认值为0
输出:
^{pr2}$Odr using.read_csv工作正常,基于您正在尝试的
quotechar
这是一个有效的参数,这可能是您想要的:输出:
^{pr2}$相关问题 更多 >
编程相关推荐