为了进行回归分析,记录了多个实验。所有实验都串联到单个数据框中。为了进行培训,我想使用第n个样本,并对其余数据的性能进行可视化。
以下代码可用于单个实验,但由于重复出现索引而导致串联数据失败。
df = pd.read_pickle(concatenated_experiments.pkl)
train = df.iloc[::10, :]
test = df.loc[~df.index.isin(train.index)]
是否有一个巧妙的方法来实现级联数据帧?我已经使用df.iloc[::10, :]
训练了一些模型,并且不希望重做。
答案 0 :(得分:2)
您可以对10
使用取模,并用0
比较布尔掩码,用boolean indexing
过滤,~
用于反转掩码:
df = pd.read_pickle(concatenated_experiments.pkl)
#if default RangeIndex
#mask = df.index % 10 == 0
#general solution
mask = np.arange(len(df)) % 10 == 0
train = df[~mask]
test = df[mask]