亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按索引調用 DataFrame 時的行數超出預期

按索引調用 DataFrame 時的行數超出預期

紅顏莎娜 2022-06-14 09:44:43
我有兩個不同的文件。z_df 和 s_df。他們的第一列是相同的(它是時間點)。每一行都是一個唯一的時間實例。現在我想分別在 z_df 和 s_df 上構建一個分類器。那也行。但問題是我想為他們的訓練和測試集使用相同的索引。例如,如果選擇 z_df 的前 4 行進行訓練,那么也必須選擇 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 的行數與 train_df 的行數不同。為什么??我用第一列來稱呼他們。為什么會這樣?我究竟做錯了什么?
查看完整描述

1 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

這很可能是因為您s_df[0]包含重復項。這可以通過 來確認len(s_df[0]) == len(s_df[0].unique())。


要對兩個數據集進行采樣:


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]


查看完整回答
反對 回復 2022-06-14
  • 1 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號