От SQL к Pandas: руководство по переходу
Пересказ статьи Ashley Biddle. From SQL to Pandas: Your Translation Guide!
5 распространенных запросов SQL, транслируемых в функции Pandas.
В то время как SQL является основным языком для выборки данных в реляционных базах данных, а Pandas является популярной библиотекой Python для манипуляции данными, SQL и Pandas во многом похожи. Понимание основ SQL может облегчить изучение Pandas. Используйте ваши знания SQL для изучения манипуляции данными в Python с Pandas.
1. Выбор столбцов
Первый запрос, который мы рассмотрим, это выбор столбцов. В SQL мы используем ключевое слово SELECT для выбора конкретных столбцов из таблицы. Например, для выбора столбцов "name” и “age” из таблицы "people" мы использовали бы следующий запрос SQL:
SELECT name, age FROM people;
В Pandas мы можем выбрать столбцы, используя нотацию квадратных скобок. Например, для выбора тех же самых столбцов из фрейма данных Pandas, мы могли бы использовать следующий код:
df[[‘name’, ‘age’]]
2. Фильтрация строк на основе условия
Следующий запрос фильтрует строки на основе условия. В SQL мы используем ключевое слово WHERE для фильтрации строк по условию. Например, чтобы выбрать всех лиц из таблицы "people", чей возраст больше 30, мы будем использовать следующий запрос SQL:
SELECT * FROM people WHERE age > 30;
В Pandas мы можем отфильтровать строки по условию, используя булево индексирование. Например, для выбора всех строк из фрейма данных Pandas с возрастом более 30, мы можем использовать следующий код:
df[df[‘age’] > 30]
3. Группировка и агрегация данных
Третий рассматриваемый запрос группирует и агрегирует данные. В SQL мы используем ключевое слово GROUP BY для группировки данных по одному или более столбцов и агрегатные функции для выполнения вычислений над сгруппированными данными. Например, для подсчета людей, имеющих одинаковый возраст, в таблице "people" мы можем использовать следующий запрос:
SELECT age, COUNT(*) FROM people GROUP BY age;
В Pandas мы можем группировать данные, используя функцию groupby(), и выполнять вычисления с помощью функции aggregate(). Например, для подсчета числа людей одного возраста в фрейме данных Pandas мы можем использовать следующий код:
df.groupby(‘age’)[‘age’].count()
4. Соединение таблиц
Четвертый запрос - это соединение таблиц. В SQL мы используем ключевое слово JOIN для соединения данных из двух и более таблиц на основе общего столбца. Например, чтобы соединить таблицы “people” и “addresses” по столбцу "id" мы могли бы использовать следующий запрос:
SELECT * FROM people JOIN addresses ON people.id = addresses.id;
В Pandas мы можем соединять таблицы с помощью функции merge(). Например, для соединения двух фреймов данных Pandas по столбцу "id" мы можем использовать следующий код:
pd.merge(people, addresses, on=’id’)
5. Сортировка данных
Последний рассматриваемый запрос - сортировка данных. В SQL мы используем предложение ORDER BY для сортировки данных по одному или более столбцов. Например, чтобы выполнить сортировку таблицы "people" по возрасту в убывающем порядке, мы можем использовать следующий запрос SQL:
SELECT * FROM people ORDER BY age DESC;
В Pandas мы можем сортировать данные с помощью функции sort_values(). Например, для сортировки фрейма данных Pandas по возрасту в убывающем порядке мы можем использовать следующий код:
df.sort_values(‘age’, ascending=False)
Ссылки по теме
1. Команды Pandas, которые я часто использую для анализа данных
2. Получение в Python данных из MySQL
Обратные ссылки
Автор не разрешил комментировать эту запись
Комментарии
Показывать комментарии Как список | Древовидной структурой