Python разделил информационный фрейм на основе его индекса строки - PullRequest
0 голосов
/ 29 мая 2018

Попытка разбить фрейм данных на обучающие, val и тестовые фреймы на основе индекса строки, например, наблюдение 1 пойдет в тренировку, 2 в val и 3 в тест, однако я столкнулся с препятствием.Вот мой код:

climbingTngDataset = pd.DataFrame([])
climbingValDataset = pd.DataFrame([])
climbingTestDataset = pd.DataFrame([])

for i in range(len(dfClimbing)):
    if i % 2 == 0:
       climbingValDataset.append(i) 
    if i % 3 == 0:
        climbingTestDataset.append(i)
    else:
        climbingTngDataset.append(i)

1 Ответ

0 голосов
/ 29 мая 2018

Используйте groupby, чтобы разделить ваши данныеФрейм:

train, test, val = [
    g for _, g in dfClimbing.groupby(dfClimbing.index % 3)
]

Демо
(с двумя разбиениями вместо 3)

print(df)
   Record ID Para Tag
0          1    A   x
1          1    A   y
2          2    B   x
3          2    B   y
4          1    A   z

i, j = [g for _, g in df.groupby(df.index % 2)]

print(i)
   Record ID Para Tag
0          1    A   x
2          2    B   x
4          1    A   z

print(j)
   Record ID Para Tag
1          1    A   y
3          2    B   y
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...