How can I split DataFrame (pandas) on pages with django paginator? How can I split DataFrame (pandas) on pages with django paginator? pandas pandas

How can I split DataFrame (pandas) on pages with django paginator?


You have to segregate your columns and then use pagination on each column and then append them together, since dataframe iterates on columns. Basically by separating each column, you give the chance to iterator to go through the rows:

contact_list = pd.DataFrame(np.arange(12).reshape(4,3))

paginator1 = Paginator(contact_list['col1'], 1)

paginator2 = Paginator(contact_list['col2'], 1)


The problem may be caused by the fact that by DataFrame.__iter__ iterates by column rather than row. You could call df.iterrows() or df.values if you want to get an iterator of your dataframe rows.


I have tested the following code with my own dataframes and it works. Just convert your dataframe to a list of dicts and the paginator should just work fine.
Sorry for the late response I just came up with this question

records = df.to_dict(orient='records')paginator = Paginator(records, num_of_items)page = request.GET.get('page')records = paginator.get_page(page)return render(request, 'list.html', {'contacts': records})