我想将我的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,时间步长,持续时间,集群]