在运行pandas文档中的代码示例时,我遇到了错误。
我怀疑这可能与我正在使用的熊猫版本有关,但我还不能证实这一点。
pandas VERSION 0.10.1
numpy VERSION 1.7.0
scipy VERSION 0.12.0.dev-14b1e07 以下示例直接取自pandas文档:
pandas - Time Deltas
这是可行的
from datetime import datetime, timedelta
from pandas import *
s = Series(date_range('2012-1-1', periods=3, freq='D'))
s
Out[52]:
0 2012-01-01 00:00:00
1 2012-01-02 00:00:00
2 2012-01-03 00:00:00 就像这个一样
td = Series([ timedelta(days=i) for i in range(3) ])
td
Out[53]:
0 0:00:00
1 1 day, 0:00:00
2 2 days, 0:00:00
df = DataFrame(dict(A = s, B = td))
df
Out[54]:
A B
0 2012-01-01 00:00:00 0:00:00
1 2012-01-02 00:00:00 1 day, 0:00:00
2 2012-01-03 00:00:00 2 days, 0:00:00 这似乎与文档中的预期输出一致。
示例代码中的下一行产生一个错误:
df['C'] = df['A'] + df['B'] ..。
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-55-7057e174d79e> in <module>()
----> 1 df['C'] = df['A'] + df['B']
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/series.pyc in wrapper(self, other)
91 if self.index.equals(other.index):
92 name = _maybe_match_name(self, other)
---> 93 return Series(wrap_results(na_op(lvalues, rvalues)),
94 index=self.index, name=name)
95
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/series.pyc in na_op(x, y)
63 if isinstance(y, np.ndarray):
64 mask = notnull(x) & notnull(y)
---> 65 result[mask] = op(x[mask], y[mask])
66 else:
67 mask = notnull(x)
TypeError: ufunc add cannot use operands with types dtype('<M8[ns]') and dtype('O')数据类型:
df.dtypes
Out[56]:
A datetime64[ns]
B object类似地,当我做加法/减法时,我得到一个错误:
s - s.max()
<ipython-input-57-8d53e24db927> in <module>()
----> 1 s - s.max()
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/series.pyc in wrapper(self, other)
78
79 if (com.is_datetime64_dtype(self) and
---> 80 com.is_datetime64_dtype(other)):
81 lvalues = lvalues.view('i8')
82 rvalues = rvalues.view('i8')
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/common.pyc in is_datetime64_dtype(arr_or_dtype)
1003 tipo = arr_or_dtype.type
1004 else:
-> 1005 tipo = arr_or_dtype.dtype.type
1006 return issubclass(tipo, np.datetime64)
1007
AttributeError: 'Timestamp' object has no attribute 'dtype'为了便于参考,这段代码在概要中。
https://gist.github.com/hernamesbarbara/5061972
感谢您的任何帮助或建议;非常感谢。
-Austin
发布于 2013-03-01 10:21:37
如果您查看链接到的页面的标题(浏览器窗口的顶部),您可以看到它是pandas的开发版本:http://pandas.pydata.org/pandas-docs/dev/timeseries.html#time-deltas
所以,今天,这就是版本
'0.11.0.dev-13ae597'这段代码可以很好地工作。
稳定版的文档如下:
http://pandas.pydata.org/pandas-docs/stable/
您将在浏览器窗口顶部看到的位置
pandas 0.10.1这就是你的版本。
发布于 2019-08-28 13:56:27
我尝试关闭python的所有实例,然后重新启动所有内容,但仍然不起作用。
然而,这对我来说是有效的。
卸载pandas
conda remove pandas 或
pip uninstall pandas 然后重新安装 it
conda install pandas或
pip install pandashttps://stackoverflow.com/questions/15149265
复制相似问题