145

423244 行の大きなデータフレームがあります。これを 4 つに分割したいのですが、次のコードを試してみましたが、エラーが発生しましたか?ValueError: array split does not result in an equal division

for item in np.split(df, 4):
    print item

このデータフレームを 4 つのグループに分割する方法は?

4

10 に答える 10

58

私も同じことをしたかったのですが、最初は split 関数で問題が発生し、次に pandas 0.15.2 のインストールで問題が発生したため、古いバージョンに戻って、非常にうまく機能する小さな関数を作成しました。これが役立つことを願っています!

# input - df: a Dataframe, chunkSize: the chunk size
# output - a list of DataFrame
# purpose - splits the DataFrame into smaller chunks
def split_dataframe(df, chunk_size = 10000): 
    chunks = list()
    num_chunks = len(df) // chunk_size + 1
    for i in range(num_chunks):
        chunks.append(df[i*chunk_size:(i+1)*chunk_size])
    return chunks
于 2015-03-05T15:49:46.663 に答える