お世話になります。
train,testというそれぞれ5000000,2000000列のデータを分割したいとindex毎にgroupに分けました。
しかし、分割した後の要素数がどのgroupも微妙にずれており、なぜこのずれが生じてしまうのか分かりません。以下の様になります。
本来ならばgroup0,1,2,3,4と要素数はキリがよくなっているはずなのですが・・・。
お分かりになる方いらっしゃいましたら、何卒ご教授お願いいたします。
python
1print(len(train)) #5000000 2print(len(test)) #2000000 3 4train["group"] = 0 5test["group"] = 0 6 7x = [[(0,500000),(500000,1000000)],[(1000000,1500000),(3000000,3500000)],[(1500000,2000000),(3500000,4000000)], 8 [(2500000,3000000),(4000000,4500000)],[(2000000,2500000),(4500000,5000000)]] 9for k in range(5): 10 for j in range(len(x[k])): train.loc[x[k][j][0]:x[k][j][1],"group"] = k 11 12y = [[(0,100000),(300000,400000),(800000,900000),(1000000,2000000)],[(400000,500000)], 13 [(100000,200000),(900000,1000000)],[(200000,300000),(600000,700000)],[(500000,600000),(700000,800000)]] 14for k in range(5): 15 for j in range(len(y[k])): test.loc[y[k][j][0]:y[k][j][1],"group"] = k 16 17for i in range(5): 18 print("***********************************") 19 print("group = " + str(i)) 20 print(len(train[train["group"] == i])) 21 print(len(test[test["group"] == i])) 22 print("***********************************") 23 24###output### 25*********************************** 26group = 0 271000000 281299997 29*********************************** 30*********************************** 31group = 1 32999999 33100000 34*********************************** 35*********************************** 36group = 2 371000000 38200001 39*********************************** 40*********************************** 41group = 3 421000000 43200000 44*********************************** 45*********************************** 46group = 4 471000001 48200002 49***********************************
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/10 09:54