Питон Панды, как комбинировать ломтики после использования для - PullRequest
0 голосов
/ 22 сентября 2018

У меня есть датафрейм с двумя столбцами и 5000 строк.Например: AB 0 1 4 1 5 5 2 3 2 3 9 7 ... 5000 8 3

Я хочу разделить информационный кадр каждые 100 шагов.Итак, я получаю 50 ломтиков.Для обучения, что я хочу сделать дальше, это снова объединить 50 срезов в новый фрейм данных или массив или все, что я могу вывести данные в файл CSV.

Я использовал следующую команду для разделения фрейма данныхна кусочки:

df_original=pd.read_csv('/data.csv')
df=pd.DataFrame(df_original, columns=['A','B'])
for i in range(0,len(df['A']),100):
    df_100=df[i:i+100]

После выполнения вышеуказанной команды, как я могу объединить кусочки для следующего шага?Любые советы будут полезны.Огромное спасибо.

1 Ответ

0 голосов
/ 22 сентября 2018

Если вы хотите иметь 50 CSV-файлов:

for i in range(0,len(df['A']),100):
    df_100=df[i:i+100]
    df_100.to_csv("file"+str(i)+".csv", index=False)

Если вы хотите выполнить какой-либо процесс для этих нарезанных фреймов данных, вы можете сохранить их в виде словаря:

dict_of_df = {}
for i in range(0,len(df['A']),100):
    dict_of_df["slice{}".format(i)]=df[i:i+100]

Таквы получите доступ к нарезанному фрейму данных по dict_of_df[key], где key = "slice0", "slice100", "slice200", ...

Когда вы покончили с этими нарезанными фреймами данных и захотите их объединить,

df_final = pd.DataFrame()
for key, values in dict_of_df.items():
    df_final = df_final.append(dict_of_df[key])

Проверьте, не является ли df_finalхорошо отсортировано, тогда:

df_final = df_final.sort_index()

и экспорт обратно в csv: df_final.to_csv("filename.csv")

...