将Pandas Dataframe转换为LSTM输入张量

时间:2018-12-28 14:06:38

标签: python-3.x pandas keras neural-network lstm

我想将我的pandas数据框转换为输入张量,然后将其馈送到LSTM网络。

该序列以列表形式位于数据框中的列之一内。此外,还有两个与序列相关联的值,即duration和user_cluster_id。

数据框如下所示: Dataframe

我设法在每个时间步提取序列的各个值,并将每个值转换为输入张量,但是我猜想是错误的,因为我破坏了序列。

熊猫数据框的名称是travel_history,下面是我的工作

input_seqs = []
output_seqs = []
for i in range(travel_history.shape[0]):
    user_cluster = travel_history.iloc[i,:]
    cluster_id = user_cluster['sequence'].tolist()
    user_class = user_cluster['user_cluster_id']
    duration = int(user_cluster['duration'])

    for i,cluster in enumerate(cluster_id):
        if i < len(cluster_id)-1:
            input_seqs.append([user_class,i, duration,cluster])
            output_seqs.append([cluster_id[i+1]])

我希望输出看起来像这样:[sequence#1 [cluster,duration,user_cluster_id]。

相反,实际输出看起来像[2,0,8,87],其中每个值对应于[user_cluster_id,时间步长,持续时间,集群]

0 个答案:

没有答案