Devo creare una funzione che divida il dataframe diviso in blocchi della dimensione necessaria. Ad esempio se dataframe contiene 1111 righe, voglio essere in grado di specificare una dimensione del blocco di 400 righe e ottenere tre dataframe più piccoli con dimensioni di 400, 400 e 311. Esiste una funzione di convenienza per eseguire il lavoro? Quale sarebbe il modo migliore per archiviare e iterare su dataframe affettato?Split dataframe in blocchi relativamente pari in base alla lunghezza
Esempio dataframe
import numpy as np
import pandas as pd
test = pd.concat([pd.Series(np.random.rand(1111)), pd.Series(np.random.rand(1111))], axis = 1)
Si può solo ottenere l'indice varia utilizzando 'test.index [:: 400]' e usare questo per affettare il df: 'prima = test.iloc [: 400] secondo = test.iloc [400: 800] third = test.iloc [800] ' – EdChum
Ho più di 50 file con> 50k righe, penso che dovrò generare indice aggiuntivo in un ciclo e usare df.groupby() – YKY
Puoi guardare [' sklearn train_test_split'] (http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.train_tpl_split.html) anche – EdChum