我有兩個不同的文件。z_df 和 s_df。他們的第一列是相同的(它是時間點)。每一行都是一個唯一的時間實例?,F(xiàn)在我想分別在 z_df 和 s_df 上構(gòu)建一個分類器。那也行。但問題是我想為他們的訓(xùn)練和測試集使用相同的索引。例如,如果選擇 z_df 的前 4 行進(jìn)行訓(xùn)練,那么也必須選擇 s_df 的前 4 行。 z_df.shape, s_df.shape: ((450865, 5), (450865, 930)) train_df, test_df = train_test_split(z_df, test_size=TEST_SIZE, shuffle=True ) train_df.shape: (315605, 5) m=train_df[0].tolist() len(m), train_df.shape: (315605, (315605, 5)) s_train=s_df[s_df[0].isin(m)] s_train.shape, train_df.shape: ((362774, 930), (315605, 5))如您所見,s_train 的行數(shù)與 train_df 的行數(shù)不同。為什么??我用第一列來稱呼他們。為什么會這樣?我究竟做錯了什么?
1 回答

明月笑刀無情
TA貢獻(xiàn)1828條經(jīng)驗 獲得超4個贊
這很可能是因為您s_df[0]包含重復(fù)項。這可以通過 來確認(rèn)len(s_df[0]) == len(s_df[0].unique())。
要對兩個數(shù)據(jù)集進(jìn)行采樣:
is_train = np.random.choice((True, False), size=len(s_df), p=(0.7, 0.3))
s_train, z_train = s_df[is_train], z_df[is_train]
s_test, z_test = s_df[~is_train], z_df[~is_train]
添加回答
舉報
0/150
提交
取消