我正在用pandas
读取一个表,其中一列的日期格式为YYYYMMMDD。在我迄今为止的所有尝试中,它都是以数字列的形式出现的。你知道吗
我可以先用笨拙的代码正确地(虽然速度很慢)消化它,但是现在的版本在某种程度上我不理解。你知道吗
所以,这起作用了:
treatments['month'] = treatments['INDATUMA'] % 10000
treatments['day'] = treatments['INDATUMA'] % 100
treatments['month'] = (treatments['month']-treatments['day'])/100
(虽然上次是在较小的数据帧中运行的,但当前版本是在所有数据帧的串联上运行的。在较小的测试数据中,代码仍然可以正常运行,并且会中断整个数据。)
这将中断:
all_treatments['month'] = all_treatments.INDATUMA % 10000 // 100
这是错误消息:
File "treatments2_noiopro.py", line 92, in <module>
all_treatments['month'] = all_treatments.INDATUMA % 10000 // 100
File "/home/seidav/anaconda/lib/python2.7/site-packages/pandas/core/ops.py", line 532, in wrapper
return left._constructor(wrap_results(na_op(lvalues, rvalues)),
File "/home/seidav/anaconda/lib/python2.7/site-packages/pandas/core/ops.py", line 479, in na_op
result[mask] = op(x[mask], y)
TypeError: not all arguments converted during string formatting
我在Linux下使用的是pandas 0.16.2 np19py26\ U 0和python 2.7.10 0版本。你知道吗
我认为最简单的方法是在最终连接的数据帧上使用
pandas
本机datetime功能更新
相关问题 更多 >
编程相关推荐