Разделить панды Dataframe на n равных частей + 1 - PullRequest
0 голосов
/ 18 января 2019

У меня есть пандас Dataframe, содержащий 44150 строк.

Я хочу разбить на подкадры данных, каждый из которых содержит 100 строк, кроме последней, которая должна содержать 50.

Я пытался использовать numpy.array_split, но он разбивает его на 392 кадра данных размера 100 и 50 кадров данных размера 99.

Есть ли способ разделить его так, как я хочу?

1 Ответ

0 голосов
/ 18 января 2019

Вы можете использовать iloc и понимание списка:

df = pd.DataFrame({
    'x':np.random.randn(44150),
    'y':np.random.randn(44150),
})

S = 100
N = int(len(df)/S)
frames = [ df.iloc[i*S:(i+1)*S].copy() for i in range(N+1) ]

Последний DataFrame - который можно найти в frames[-1] - имеет 50 строк, в то время как другие имеют 100 строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...