#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)