小编Nou*_*our的帖子

TypeError: ufunc add 无法使用类型为 dtype('<M8[ns]') 和 dtype('<M8[ns]') 的操作数

我正在尝试为某些数据设置 ARIMA 模型,为此,我在时间序列中使用了“autocorrelation_plot()”。然而它会产生标题中的错误。

我有一个属性表,其中包括日期和时间字段。我提取了它们(将属性表转换为 numpy 表后),将它们放入“datetime”变量中并将它们全部附加到列表中:


   O,A = [],[]
   dt = datetime.strptime(dt1, "%Y/%m/%d %H:%M")
   A.append(dt)
Run Code Online (Sandbox Code Playgroud)

然后我尝试创建时间序列并打印它们以确保结果:


   data2 = pd.Series(A, O)
   print data2

Run Code Online (Sandbox Code Playgroud)

结果令人满意,直到我决定自动关联:

自相关命令:


autocorrelation_plot(data2)

Run Code Online (Sandbox Code Playgroud)

执行此命令后,返回:

TypeError: ufunc add 无法使用类型为 dtype('M8[ns]') 和 dtype('M8[ns]') 的操作数

我猜这是由于 datetime.strptime 转换为 numpy 造成的?我尝试遵循之前问题 index.to_pydatetime()dtype、M8[ns] error ...的一些建议,但徒劳。

最小可重现示例:


  from pandas import datetime
  from pandas import DataFrame
  import pandas as pd
  from matplotlib import pyplot as plt
  from pandas.tools.plotting import autocorrelation_plot

  arr = arcpy.da.TableToNumPyArray(inTable ,("PROVINCE","ZONE_CODE","MEAN", "Datetime","Time"))
  arr_length = len(arr)
  j = 1
  O,A = …
Run Code Online (Sandbox Code Playgroud)

numpy matplotlib pandas arcpy

5
推荐指数
1
解决办法
2万
查看次数

Keras padding 将我的所有值替换为 0

为了适应我想在单变量 LSTM 中使用并且具有“多步时间”的数据序列,最简单的方法是进行一些填充。我的初始数据集如下所示,它是一个 numpyarray:

X
[0.295046, 0.325147, 0.361293]
[0.249307,0.444077]
[0.570017,0.525082,0.475404,0.390616]
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的是:

from keras.preprocessing.sequence import pad_sequences
padded_x = pad_sequences(X)
print(padded_x)
Run Code Online (Sandbox Code Playgroud)

而不是添加零来“完成”数据集:

X
[0.0, 0.295046, 0.325147, 0.361293]
[0.0, 0.0, 0.249307,0.444077]
[0.570017,0.525082,0.475404,0.390616]
Run Code Online (Sandbox Code Playgroud)

它只是将所有值替换为 0。我不知道我错过了什么......

提前致谢 :)

python padding lstm

1
推荐指数
1
解决办法
619
查看次数

标签 统计

arcpy ×1

lstm ×1

matplotlib ×1

numpy ×1

padding ×1

pandas ×1

python ×1