#python #pandas #tabulate
Вопрос:
Мои исходные данные состоят из 3 столбцов — страна, загрузки и стоимость в файле xlsx.
df = pd.read_excel(xls)
Я хочу показать для каждой страны общее количество загрузок и общую стоимость в таблице, которая выглядит хорошо.
Я попытался использовать табуляцию:
installs_by_country = df.groupby('Country'['downloads'].sum().to_frame(name='downloads').reset_index() cost_by_country = df.groupby('Country')['Cost'].sum().to_frame(name='Cost').reset_index() total_per_country = pd.DataFrame({'Country': [installs_by_country['Country']], 'downloads':[installs_by_country['downloads']], 'Cost': [cost_by_country['Cost']]}) print(tabulate(total_per_country, headers=['Country','downloads','Cost'], tablefmt='psql', showindex=False))
Но в таблице, похоже, есть индексы в каждом столбце:
Как я могу это исправить? Пожалуйста, помогите
Комментарии:
1. Я думаю, что у вас слишком много наборов
[]
для создания столбца объектов серии, а не нового фрейма данных.total_per_country = pd.DataFrame({'Country': installs_by_country['Country'], 'downloads': installs_by_country['downloads'], 'Cost': cost_by_country['Cost']})
или, можетtotal_per_country = pd.concat([installs_by_country['Country'], installs_by_country['downloads'], cost_by_country['Cost']], axis=1)
быть ?2. Да! Это сработало. 1 — я из них действительно была проблемой, спасибо