串联熊猫数据框的反行选择

时间:2019-06-07 05:15:24

标签: python pandas dataframe

为了进行回归分析,记录了多个实验。所有实验都串联到单个数据框中。为了进行培训,我想使用第n个样本,并对其余数据的性能进行可视化。

以下代码可用于单个实验,但由于重复出现索引而导致串联数据失败。

df = pd.read_pickle(concatenated_experiments.pkl)
train = df.iloc[::10, :]
test = df.loc[~df.index.isin(train.index)]

是否有一个巧妙的方法来实现级联数据帧?我已经使用df.iloc[::10, :]训练了一些模型,并且不希望重做。

1 个答案:

答案 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]