Разделите фрейм данных на несколько .txt на Панд

#python #pandas #numpy

Вопрос:

Я хочу разделить фрейм данных на две строки (Страна и бренд) и создать несколько файлов .txt для комбинации этих двух атрибутов. В принципе, мой фрейм данных выглядит так:

введите описание изображения здесь

Это код, который я создал на случай, если захочу разделить результат на разные файлы Excel:

 for (country, brand), group in df_f.groupby(['Country', 'Brand']):  group.to_excel(f'{country}_{brand}.xlsx', index=False)  

Когда я пытаюсь адаптировать этот код со следующими строками:

 numpy_array = df_f.to_numpy() np.savetxt("f'{country}_{brand}.txt", numpy_array, fmt = "%d")  

Однако это не работает. В нем говорится, что это не может быть применено к кадру данных.

Как я могу выполнить этот процесс?

Комментарии:

1. 1 — пожалуйста, предоставьте ввод в виде текста, а не изображения, 2 — укажите ожидаемый текстовый формат, 3 — почему бы не использовать тот же код, что и в вашем первом примере pandas.to_csv ?

2. это сработало бы для вас? для (страны, бренда), группы в df.groupby([‘Страна’, ‘Бренд’]): group.to_csv(f'{страна}_{бренд}.csv’, индекс=False)

Ответ №1:

просто используйте pandas.to_string() и сохраните выходные данные в txt-файл:

 for (country, brand), group in df_f.groupby(['Country', 'Brand']):  s = group.to_string(index=False)  with open(f'{country}_{brand}.txt', 'w') as f:  f.write(s)