Как разделить big pandas df на несколько, используя цикл for?

#python #pandas

#питон #панды

Вопрос:

У меня есть следующая проблема. У меня большой data фрейм данных . Я хотел бы разделить его на n небольших фреймов данных с суффиксом _n . Я пытался:

 for suffix in range(0, 20):  rows = len(data) // 20  data   f"_{suffix}" = data[suffix*rows : (suffix 1)*rows]  

Но я получил ошибку Cannot assign to operator . Как я могу это исправить, пожалуйста?

Ответ №1:

Вам просто нужно взять срез df в диапазоне [i,i n) , где n указано количество строк, которое вы хотите в меньшем кадре данных, а i-начальный индекс для каждого из небольших кадров данных, затем вы можете создать словарь, используя понимание словаря.

 n=5 # Max number of rows per dataframe res={f'df_{i/n:.0f}':df.iloc[i:i   n, :] for i in range(0, df.shape[0], n)}  

PS: df замените имя переменной для вашего фрейма данных.