Это первая статья из серии из 5 постов о PowerQuery и Pandas.
Я попытаюсь ответить на вопрос.

«Что проще сделать в PowerQuery по сравнению с Pandas или наоборот».

Эта серия будет очень самоуверенной. Комментарий ниже для предлагаемых тем.

Обзор

При анализе данных или очистке данных вам может потребоваться получить описательную статистику о ваших данных. Это может быть для того, чтобы увидеть, есть ли какие-либо выбросы, или чтобы получить приблизительную оценку формы ваших данных.

PowerQuery

В PowerQuery вы можете получить описательную статистику о ваших данных двумя способами:

  • Использование вкладки Вид › Предварительный просмотр данных
  • Использование функции Table.Profile()

Мы собираемся пропустить параметр предварительного просмотра данных, поскольку он доступен только в приложении PowerBI и версиях Excel для Office 365.

С другой стороны, Table.Profile() работает аналогично методу describe() Pandas. Вам просто нужно передать имя таблицы в функцию.

Недостатком является то, что это трудно расширить с другими агрегациями.

Например, предположим, что мы хотим расширить профиль следующих данных с помощью медианы.

Если мы добавим следующее, профиль + средний код

`= Table.Profile(#"Changed Type", {{"Median", each Type.Is(_, type number), List.Median}})`

Наша медиана будет следующей

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

each Type.Is(_, type number)

Решение состоит в том, чтобы сначала «приписать» столбцам правильный тип данных. Создайте новый запрос со следующим кодом. Назовите этот запрос drink_dtypes

let
     Query1 = type table [  
       country = text,
       beer_servings = number,
       spirit_servings = number,  
       wine_servings = number,
       total_litres_of_pure_alcohol = number,
       continent = text
   ]
in
     Query1

Это работает как «рисунок формата», но для запроса типа данных.
Затем вернемся к нашим исходным данным, заменим типы данных столбцов следующим образом (перед строкой на Table.Profile())

= Value.ReplaceType(#"Changed Type", drink_dtypes)

Теперь медиана выглядит следующим образом

Обратите внимание, что категориальные столбцы со средним значением, следовательно, равны нулю.

Панды

Панды, с другой стороны, имеют метод describe(). Медиана включена по умолчанию, но если вы хотите вывести другой процентиль, скажем, 10-й процентиль, просто передайте его аргументу percentile.

Вердикт

Pandas в этом случае проще. Однако PowerQuery лучше приспособлен для расширения, если столбцам правильно присвоены правильные типы данных.

Что еще нужно знать о возможностях PowerQuery и Pandas? Ознакомьтесь с моей книгой PowerQuery Guide to Pandas на Gumroad, Leanpub или Amazon.

Подпишитесь на меня в Twitter и Linkedin.