如何解决“模块'numpy'没有属性'float'"的错误?

iyfjxgzm  于 2023-01-17  发布在  其他
关注(0)|答案(2)|浏览(989)

环境

  • WSL2基因
  • 多克尔
  • 虚拟环境
  • Python 3.8.16语言
  • 木星实验室3.5.2
  • 麻木1.24.1
  • 先知1.1.1
  • fb预言家0.7.1
  • 半胱氨酸0.29.33
  • 网络编程语言8.8.0
  • 程序代码2.0.2
  • 绘图5.11.0
  • 第22.3.1条
  • 网站Mapwww.example.com2.19.1.1
  • 科学知识工具学习版1.2.0
  • konlpy 0.6.0(仅在这种情况下)
  • nodejs 0.1.1(仅在本例中)
  • panda 1.5.2(仅在此情况下)

错误

主错误消息

AttributeError: module 'numpy' has no attribute 'float'

整个错误消息

INFO:fbprophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this.
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[33], line 4
      1 # Prophet() 모델을 읽어와서 
      2 # fit로 학습한다.
      3 model_revenue = Prophet()
----> 4 model_revenue.fit(revenue_serial)

File /home/.venv/lib/python3.8/site-packages/fbprophet/forecaster.py:1115, in Prophet.fit(self, df, **kwargs)
   1112 self.history = history
   1113 self.set_auto_seasonalities()
   1114 seasonal_features, prior_scales, component_cols, modes = (
-> 1115     self.make_all_seasonality_features(history))
   1116 self.train_component_cols = component_cols
   1117 self.component_modes = modes

File /home/.venv/lib/python3.8/site-packages/fbprophet/forecaster.py:765, in Prophet.make_all_seasonality_features(self, df)
    763 # Seasonality features
    764 for name, props in self.seasonalities.items():
--> 765     features = self.make_seasonality_features(
    766         df['ds'],
    767         props['period'],
    768         props['fourier_order'],
    769         name,
    770     )
    771     if props['condition_name'] is not None:
    772         features[~df[props['condition_name']]] = 0

File /home/.venv/lib/python3.8/site-packages/fbprophet/forecaster.py:458, in Prophet.make_seasonality_features(cls, dates, period, series_order, prefix)
    442 @classmethod
    443 def make_seasonality_features(cls, dates, period, series_order, prefix):
    444     """Data frame with seasonality features.
    445 
    446     Parameters
   (...)
    456     pd.DataFrame with seasonality features.
    457     """
--> 458     features = cls.fourier_series(dates, period, series_order)
    459     columns = [
    460         '{}_delim_{}'.format(prefix, i + 1)
    461         for i in range(features.shape[1])
    462     ]
    463     return pd.DataFrame(features, columns=columns)

File /home/.venv/lib/python3.8/site-packages/fbprophet/forecaster.py:434, in Prophet.fourier_series(dates, period, series_order)
    417 """Provides Fourier series components with the specified frequency
    418 and order.
    419 
   (...)
    428 Matrix with seasonality features.
    429 """
    430 # convert to days since epoch
    431 t = np.array(
    432     (dates - datetime(1970, 1, 1))
    433         .dt.total_seconds()
--> 434         .astype(np.float)
    435 ) / (3600 * 24.)
    436 return np.column_stack([
    437     fun((2.0 * (i + 1) * np.pi * t / period))
    438     for i in range(series_order)
    439     for fun in (np.sin, np.cos)
    440 ])

File /home/.venv/lib/python3.8/site-packages/numpy/__init__.py:284, in __getattr__(attr)
    281     from .testing import Tester
    282     return Tester
--> 284 raise AttributeError("module {!r} has no attribute "
    285                      "{!r}".format(__name__, attr))

AttributeError: module 'numpy' has no attribute 'float'

数据集示例

ds                  y
0   2022-09-01 13:00:00 762
1   2022-09-01 15:00:00 746
2   2022-09-01 17:00:00 848
3   2022-09-01 19:00:00 866
4   2022-09-01 21:00:00 632
... ... ...
1881    2022-10-31 13:00:00 684
1882    2022-10-31 15:00:00 749
1883    2022-10-31 17:00:00 779
1884    2022-10-31 19:00:00 573
1885    2022-10-31 21:00:00 510

变量类型

访问者_序列

ds    datetime64[ns]
y              int64
dtype: object

短代码

...

revenue_serial = pd.DataFrame(pd.to_datetime(df_active_time['START_DATE'], format="%Y%m%d %H:%M:%S"))
revenue_serial['객단가(원)']=df_active_time['객단가(원)']

revenue_serial = revenue_serial.reset_index(drop= True)
revenue_serial = revenue_serial.rename(columns={'START_DATE':'ds', '객단가(원)':'y'})

model_revenue = Prophet().
model_revenue.fit(revenue_serial)

我以为如果我升级numpy模块的版本,它会被解决。它没有发生解决

owfi6suc

owfi6suc1#

你可以在代码中看到错误numpy实际上没有属性float你的代码应该是t = np.array((dates - datetime(1970, 1, 1)).dt.total_seconds().astype(np.float)

t = np.array(
   (dates - datetime(1970, 1, 1))
       .dt.total_seconds()
        .astype(np.float32)
gwbalxhn

gwbalxhn2#

别名numpy.float在NumPy 1.20中被弃用,并在NumPy 1.24中被删除。
您可以将其更改为numpy.float_numpy.float64numpy.double,它们都表示相同的内容。
对于您的依赖项prophet,实际问题已经在#1850(2021年3月)中修复,并且它似乎在v1.1.1中修复,因此看起来您没有运行您认为的版本。

相关问题