下面这个代码有什么问题,slice = [zuizhong_data[len(zuizhong_data[zuizhong_data['y']==i]):len((zuizhong_data[zuizhong_data['y']==(i+100)]))].map(data_change) for i in range(0,3600,100)] last_data = pd.concat(slice)
时间: 2023-04-01 20:05:02 浏览: 73
这段代码有语法错误,应该在第二个括号后面加上逗号,即(i, 100)。正确的代码应该是:
slice = [zuizhong_data[len(zuizhong_data[zuizhong_data['y']==i]):len((zuizhong_data[zuizhong_data['y']==(i, 100)]))].map(data_change) for i in range(,360,100)]
last_data = pd.concat(slice)
相关问题
def slice_hdfs(x, y, window_size): results_data = [] print("Slicing {} sessions, with window {}".format(x.shape[0], window_size)) for idx, sequence in enumerate(x): seqlen = len(sequence) i = 0 while (i + window_size) < seqlen: slice = sequence[i: i + window_size] results_data.append([idx, slice, sequence[i + window_size], y[idx]]) i += 1 else: slice = sequence[i: i + window_size] slice += ["#Pad"] * (window_size - len(slice)) results_data.append([idx, slice, "#Pad", y[idx]]) results_df = pd.DataFrame(results_data, columns=["SessionId", "EventSequence", "Label", "SessionLabel"]) print("Slicing done, {} windows generated".format(results_df.shape[0])) return results_df[["SessionId", "EventSequence"]], results_df["Label"], results_df["SessionLabel"]代码解释
这段代码是一个用于切分 HDFS 数据的函数。函数需要传入三个参数:x 代表输入的数据,y 代表该数据的标签,window_size 代表切分的窗口大小。函数的输出是 results_data,其中包含了每个序列按照窗口大小切分之后的子序列。
函数首先会打印出需要切分的序列的数量和窗口大小。然后对于每个序列,函数会计算出其长度,并从序列的开头开始循环。在循环中,函数会以窗口大小为间隔进行切分,将每个子序列、该子序列后的一个元素和该序列的标签保存到 results_data 中。最后,函数会返回 results_data。
阅读全文