我试图预测一个人口的用水量.
我有1个主要输入:
和2个次要输入:
从理论上讲,它们与供水有关.
必须说每个降雨和温度数据都与水量相对应.所以这是一个时间序列问题.
问题是我不知道如何从一个.csv文件中使用3个输入,每个输入有3列,每个输入,如下面的代码所示.当我只有一个输入(例如水量)时,网络或多或少地使用此代码,但不是当我有多个输入时.(因此,如果您使用下面的csv文件运行此代码,则会显示维度错误).
阅读一些答案:
似乎很多人都有同样的问题.
代码:
编辑:代码已更新
import numpy
import matplotlib.pyplot as plt
import pandas
import math
from keras.models import Sequential
from keras.layers import Dense, LSTM, Dropout
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error
# convert an array of values into a dataset matrix
def create_dataset(dataset, look_back=1):
dataX, dataY = [], []
for i in range(len(dataset) - look_back - 1):
a = dataset[i:(i + look_back), 0]
dataX.append(a)
dataY.append(dataset[i + look_back, …Run Code Online (Sandbox Code Playgroud) 我有一个熊猫数据框,其中的索引是从2007年到2017年的日期。
我想计算每年每个工作日的平均值。我可以按年份分组:
groups = df.groupby(TimeGrouper('A'))
years = DataFrame()
for name, group in groups:
years[name.year] = group.values
Run Code Online (Sandbox Code Playgroud)
这是我创建新数据框(年)的方式,其中在每一列中我获取时间序列的每一年。如果我想查看每年的统计数据(例如,平均值):
print(years.mean())
Run Code Online (Sandbox Code Playgroud)
但是现在我想将每年的每一天都分开,以便获得当时所有时间的每个工作日的平均值。
我唯一知道的是:
year=df[(df.index.year==2007)]
day_week=df[(df.index.weekday==2)]
Run Code Online (Sandbox Code Playgroud)
问题是我必须在一周中的一天更改7次,然后重复11年(我的时间序列从2007年开始到2017年结束),所以我必须做77次!
有没有一种方法可以按年和周日对时间进行分组,以使其更快?