Перенос ваших данных с помощью Python, SQL или электронных таблиц
В наши дни сбор данных кажется проще, чем когда-либо, но это не значит, что вы всегда сможете собирать их в форме, обеспечивающей необходимую информацию. Иногда вам нужно будет манипулировать своими данными таким образом, чтобы изменить их организацию, чтобы вы могли увидеть их в новом ракурсе. Смещение данных часто является простым способом реорганизации столбцов и строк данных, преобразования их в группы, статистические данные или сводки. Эта статья покажет вам три простых способа сводить данные с помощью таких инструментов, как таблицы Google, Microsoft SQL Server Management Studios и библиотека Python Pandas.
Если вы хотите продолжить, вы можете скачать мои данные о времени и продажах с kaggle здесь:
Поворот в Python с использованием Pandas
Pandas - мощная и популярная библиотека анализа данных для Python. Это позволяет вам создавать фреймы данных для просмотра и управления вашими данными в структуре, подобной электронной таблице или таблице базы данных. Вы можете создавать сводные таблицы с помощью Pandas в пару строк кода! Я покажу вам, как вы можете сводить столбцы или строки:
- Импортируйте свои зависимости и данные:
import pandas as pd import numpy as np #read your csv data to a Data Frame data = pd.read_csv(r'C:\Users\Admin\Desktop\Edge\optionsTradeData.csv') #check the data data.head()
2. Используйте функцию Pandas.pivot_table, чтобы создать сводную таблицу в виде электронной таблицы:
pd.pivot_table(data, index = ['Sector'], values = ['Spent'], aggfunc = np.sum)
ИЛИ вы можете установить секторы в столбцы вместо того, чтобы использовать их в качестве индекса:
pd.pivot_table(data, columns = ['Sector'], values = ['Spent'], aggfunc = np.sum)
Разверните свои таблицы
Глядя на наши данные, допустим, мы хотим просуммировать потраченную сумму по секторам. Сводные таблицы упрощают расчет. Microsoft Excel и Google Sheets имеют встроенную функцию сводки, позволяющую легко преобразовывать ваши электронные таблицы. Чтобы создать сводную таблицу в таблицах Google, выполните следующие действия:
1. Data > Pivot table. 2. Set the Data range. 3. Select an insert option data. I recommend New sheet. 4. Click Create.
Вы увидите пустую таблицу и редактор сводной таблицы, который позволяет вам настраивать строки, столбцы, значения и фильтры. Если вы совсем не знакомы со сводными таблицами, Google Таблицы упрощают начало работы, предлагая вам предлагаемые сводные таблицы:
Чтобы получить общую сумму, потраченную по секторам, нам нужно установить наши строки и значения:
1. Click Add Rows. 2. Select sector. 3. Click Add Values. 4. Select Spent.
Вы успешно развернули свои данные, чтобы они выглядели так:
Сводка в SQL
SQL - это мощный язык запросов, который позволяет извлекать данные в реляционных базах данных и манипулировать ими. Это довольно простой язык для изучения, и я настоятельно рекомендую изучить основы, если вы с ним не знакомы. Я использую Microsoft SQL Server и SQL Server Management Studios на работе и дома, так что это вариант, который я буду использовать в своем примере, но есть несколько различных сред баз данных / SQL, в которых вы можете играть: MySQL, PostgreSQL, SQLite и Oracle Database - это лишь некоторые из них.
Microsoft SQL Server позволяет использовать реляционный оператор PIVOT для вращения и агрегирования данных, преобразовывая их в сводную таблицу. Это пример синтаксиса Pivot из документации Microsoft:
SELECT <non-pivoted column>, [first pivoted column] AS <column name>, [second pivoted column] AS <column name>, ... [last pivoted column] AS <column name> FROM (<SELECT query that produces the data>) AS <alias for the source query> PIVOT ( <aggregation function>(<column being aggregated>) FOR [<column that contains the values that will become column headers>] IN ( [first pivoted column], [second pivoted column], ... [last pivoted column]) ) AS <alias for the pivot table> <optional ORDER BY clause>;
Начните с оператора SELECT, который выводит данные, которые вы хотите развернуть:
(select sector, spent from v_FlowTotal)
Из этих данных выберите столбцы, которые вы хотите повернуть. В нашем примере мы хотим развернуть сектора:
select [Non-Cyclical Consumer Goods] ,ETF ,Healthcare ,Utilities ,MISC ,[Cyclical Consumer Goods] ,Telecommunication ,WEED ,Financials ,Energy ,[Basic Materials] ,Industrials ,REIT ,Technology FROM ( select sector, spent FROM v_FlowTotal ft ) as SourceTable
Затем примените оператор PIVOT вместе с функцией агрегирования:
select [Non-Cyclical Consumer Goods] ,ETF ,Healthcare ,Utilities ,MISC ,[Cyclical Consumer Goods] ,Telecommunication ,WEED ,Financials ,Energy ,[Basic Materials] ,Industrials ,REIT ,Technology FROM ( select sector, spent FROM v_FlowTotal ft ) as SourceTable PIVOT ( sum(spent) for sector IN ( [Non-Cyclical Consumer Goods] ,ETF ,Healthcare ,Utilities ,MISC ,[Cyclical Consumer Goods] ,Telecommunication ,WEED ,Financials ,Energy ,[Basic Materials] ,Industrials ,REIT ,Technology) )As PivotTable
Результат будет выглядеть так:
Заключительные замечания:
Хотя эта статья поможет вам начать работу со сводными таблицами, лучший способ изучить все, что они могут предложить, - это повозиться и поэкспериментировать с их функциональностью! Сводные таблицы легко создавать, и они могут позволить вам получить представление о ваших данных, изменив способ их просмотра.
Благодарю вас!
- Если вам понравилось, подписывайтесь на меня на Medium, чтобы узнать больше
- Получите ПОЛНЫЙ ДОСТУП и помогите поддержать мой контент, подписавшись
- Давайте подключимся к LinkedIn
- Анализировать данные с помощью Python? Загляните на мой сайт