Import pandas python что это
Перейти к содержимому

Import pandas python что это

  • автор:

Beginner's Tutorial on the Pandas Python Library

Pandas is an open source Python package that provides numerous tools for data analysis. The package comes with several data structures that can be used for many different data manipulation tasks. It also has a variety of methods that can be invoked for data analysis, which comes in handy when working on data science and machine learning problems in Python.

Advantages of Using Pandas

The following are some of the advantages of the Pandas library:

  1. It can present data in a way that is suitable for data analysis via its Series and DataFrame data structures.
  2. The package contains multiple methods for convenient data filtering.
  3. Pandas has a variety of utilities to perform Input/Output operations in a seamless manner. It can read data from a variety of formats such as CSV, TSV, MS Excel, etc.

Installing Pandas

The standard Python distribution does not come with the Pandas module. To use this 3rd party module, you must install it.

The nice thing about Python is that it comes bundled with a tool called pip that can be used for the installation of Pandas. The do the installation, you need to run the following command:

If you have installed Anaconda on your system, just run the following command to install Pandas:

It is highly recommended that you install the latest version of the Pandas package. However, if you want to install an older version you can specify it by running the conda install command as follows:

Pandas Data Structures

Pandas has two main data structures for data storage:

  1. Series
  2. DataFrame
Series

A series is similar to a one-dimensional array. It can store data of any type. The values of a Pandas Series are mutable but the size of a Series is immutable and cannot be changed.

The first element in the series is assigned the index 0 , while the last element is at index N-1 , where N is the total number of elements in the series.

To create a Pandas Series , we must first import the Pandas package via the Python's import command:

To create the Series , we invoke the pd.Series() method and pass an array, as shown below:

Next, run the print statement to display the contents of the Series :

Output:

You can see that we have two columns, the first one with numbers starting from index 0 and the second one with the elements that were added to the series.

The first column denotes the indexes for the elements.

However, you may get an error when you try to display the Series . The major cause of this error is that Pandas looks for the amount of information to display, therefore you should provide sys output information.

You can solve the error by executing the code as follows:

A Series may also be created from a numpy array. Let us create a numpy array then convert it into a Pandas Series :

Output:

We start by importing the necessary libraries, including numpy . Next, we called the numpy's array() function to create an array of fruits. We then use Pandas Series() function and pass it the array that we want to convert into a series. Finally, we call the print() function to display the Series .

DataFrame

The Pandas DataFrame can be seen as a table. It organizes data into rows and columns, making it a two-dimensional data structure. Potentially, the columns are of a different type and the size of the DataFrame is mutable, and hence can be modified.

To create a DataFrame, you can choose to start from scratch or convert other data structures like Numpy arrays into a DataFrame. Here is how you can create a DataFrame from scratch:

Output:

In this example we have created a DataFrame named df . The first column of the DataFrame has integer values. The second column has a string, the third column has floating point values, while the fourth column has boolean values.

The statement print(df) will display the contents of the DataFrame to us via the console, allowing us to inspect and verify its contents.

However, when displaying the DataFrame, you may have noticed that there is an additional column at the start of the table, with its elements beginning at 0. This column is created automatically and it marks the indexes of the rows.

To create a DataFrame, we must invoke the pd.DataFrame() method as shown in the above example.

It is possible for us to create a DataFrame from a list or even a set of lists. We only have to call the pd.DataFrame() method and then pass it the list variable as its only argument.

Consider the following example:

Output:

In this example we created a list named mylist with a sequence of 5 integers. We then called the DataFrame() method and passed the name of the list to it as the argument. This is where the conversion of the list to a DataFrame happened.

We have then printed out the contents of the DataFrame. The DataFrame has a default column showing indexes, with the first element being at index 0 and the last one at index N-1 , where N is the total number of elements in the DataFrame.

Here is another example:

Output:

Here we have created a list named items with a set of 3 items. For each item, we have a name and price. The list is then passed to the DataFrame() method in order to convert it into a DataFrame object.

In this example the names of the columns for the DataFrame have been specified as well. The numeric values have also been converted into floating point values since we specified the dtype argument as "float".

To get a summary of this item's data, we can call the describe() function on the DataFrame variable, that is, df :

Output:

The describe() function returns some common statistical details of the data, including the mean, standard deviation, minimum element, maximum element, and some other details. This is a great way to get a snapshot of the data you're working with if the dataset is relatively unknown to you. It could also be a good way to quickly compare two separate datasets of similar data.

Importing Data

Often times you'll need to use Pandas to analyze data that is stored in an Excel file or in a CSV file. This requires you to open and import the data from such sources into Pandas.

Luckily, Pandas provides us with numerous methods that we can use to load the data from such sources into a Pandas DataFrame.

Importing CSV Data

A CSV file, which stands for comma separated value, is simply a text file with values separated by a comma (,). Since this is a very well-known and often-used standard, we can use Pandas to read CSV files either in whole or in part.

For this example we will create a CSV file named cars.csv. The file should have the following data:

You can copy the data and paste in a text editor like Notepad, and then save it with the name cars.csv in the same directory as your Python scripts.

Pandas provides us with a method named read_csv that can be used for reading CSV values into a Pandas DataFrame. The method takes the path to the CSV file as the argument.

The following code is what we'll use to help us read the cars.csv file:

Output:

In my case, I saved the CSV file in the same directory as the Python script, hence I simply passed the name of the file to the read_csv method and it knew to check the current working directory.

If you have saved your file in a different path, ensure you pass the correct path as the argument to the method. This can either be a relative path, like "../cars.csv", or an absolute path like "/Users/nicholas/data/cars.csv".

Free eBook: Git Essentials

Check out our hands-on, practical guide to learning Git, with best-practices, industry-accepted standards, and included cheat sheet. Stop Googling Git commands and actually learn it!

In some cases, you may have thousands of rows in your dataset. In such a case, it would be more helpful to you to print only the first few rows on the console rather than printing all the rows.

This can be done by calling the head() method on the DataFrame as shown below:

For our data above, the above command returns only the first 5 rows of the dataset, allowing you to inspect a small sample of the data. This is shown below:

Output:

The loc() method is a nice utility that helps us read only certain rows of a specific column in the dataset, as demonstrated in the following example:

Output:

Here we used the loc() method to only read the elements at indexes 0, 4, and 7 of the Type column.

At times Wwe may need to only read certain columns and not others. This can be done using the loc() method as well, shown below in this example:

Output:

Here we used the loc() method to read all rows (the : part) of only two of our columns from the dataset, that is, the Type and Capacity columns, as specified in the argument.

Importing Excel Data

In addition to the read_csv method, Pandas also has the read_excel function that can be used for reading Excel data into a Pandas DataFrame. In this example, we will use an Excel file named workers.xlsx with details of workers in a company.

The following code can be used to load the contents of the Excel file into a Pandas DataFrame:

Output:

After calling the read_excel function we then passed the name of the file as the argument, which read_excel used to open/load the file and then parse the data. The print() function then helps us display the contents of the DataFrame, as we've done in past examples.

And just like with our CSV example, this function can be combined with the loc() method to help us read specific rows and columns from the Excel file.

Output:

We have used the loc() method to retrieve the Name and Salary values of the elements at indexes 1, 4, and 7.

Pandas also allows us to read from two Excel sheets simultaneously. Suppose our previous data is in Sheet1, and we have some other data in Sheet2 of the same Excel file. The following code shows how we can read from the two sheets simultaneously:

Output:

What happened is that we combined the read_excel() function with the ExcelFile wrapper class. The variable x was created when calling the wrapper class and with Python keyword, which we use to temporarily open the file.

From the ExcelFile variable x , we have created two more variables, s1 and s2 to represent the contents that were read from the different sheets.

We then used print statements to view the contents of the two sheets in the console. The blank print statement, print("") , is only used to print a blank line between our sheet data.

Data Wrangling

Data wrangling is the process of processing data to prepare it for use in the next step. Examples of data wrangling processes include merging, grouping, and concatenation. This kind of manipulation is often needed in data science to get your data in to a form that works well with whatever analysis or algorithms that you're going to put it through.

Merging

The Pandas library allows us to join DataFrame objects via the merge() function. Let us create two DataFrames and demonstrate how to merge them.

Here is the first DataFrame, df1 :

Output:

Here is the code to create the second DataFrame, df2 :

Output:

We now need to merge the two DataFrames, that is, df1 and df2 along the values of subject_id . We simply call the merge() function as shown below:

Output:

What merging does is that it returns the rows from both DataFrames with the same value for the column you are using for the merge.

There are many other ways to use the pd.merge function that we won't be covering in this article, such as what data should be merged, how it should be merged, if it should be sorted, etc. For more information, check out the official documentation on the merge function.

Grouping

Grouping is the process of putting data into various categories. Here is a simple example:

Output:

In this simple example, we have grouped the data by year, which in this case was 2010. We could have also grouped by any of the other columns, like "Name", "Position", etc.

Concatenation

Concatenation of data, which basically means to add one set of data to another, can be done by calling the concat() function.

Let us demonstrate how to concatenate DataFrames using our two previous Dataframes, that is, df1 and df2 , each with two columns, "subject_id" and "student_name":

Output:

Descriptive Statistics

As I briefly showed earlier, when we use the describe() function we get the descriptive statistics for numerical columns, but the character columns are excluded.

Let's first create a DataFrame showing student names and their scores in Math and English:

Output:

We only have to call the describe() function on the DataFrame and get the various measures like the mean, standard deviation, median, maximum element, minimum element, etc:

Output:

As you can see, the describe() method completely ignored the "Name" column since it is not numberical, which is what we want. This simplifies things for the caller since you don't need to worry about removing non-numerical columns before calculating the numerical stats you want.

Conclusion

Pandas is an extremely useful Python library, particularly for data science. Various Pandas functionalities make data preprocessing extremely simple. This article provides a brief introduction to the main functionalities of the library. In this article, we saw working examples of all the major utilities of Pandas library. To get the most out of Pandas, I would suggest you practice the examples in this article and also test the library with your own datasets. Happy Coding!

10 minutes to pandas#

This is a short introduction to pandas, geared mainly for new users. You can see more complex recipes in the Cookbook .

Customarily, we import as follows:

Object creation#

Creating a Series by passing a list of values, letting pandas create a default integer index:

Creating a DataFrame by passing a NumPy array, with a datetime index using date_range() and labeled columns:

Creating a DataFrame by passing a dictionary of objects that can be converted into a series-like structure:

The columns of the resulting DataFrame have different dtypes :

If you’re using IPython, tab completion for column names (as well as public attributes) is automatically enabled. Here’s a subset of the attributes that will be completed:

As you can see, the columns A , B , C , and D are automatically tab completed. E and F are there as well; the rest of the attributes have been truncated for brevity.

Введение в pandas: анализ данных на Python

4 Март 2017 , Python, 703082 просмотров, Introduction to pandas: data analytics in Python

pandas это высокоуровневая Python библиотека для анализа данных. Почему я её называю высокоуровневой, потому что построена она поверх более низкоуровневой библиотеки NumPy (написана на Си), что является большим плюсом в производительности. В экосистеме Python, pandas является наиболее продвинутой и быстроразвивающейся библиотекой для обработки и анализа данных. В своей работе мне приходится пользоваться ею практически каждый день, поэтому я пишу эту краткую заметку для того, чтобы в будущем ссылаться к ней, если вдруг что-то забуду. Также надеюсь, что читателям блога заметка поможет в решении их собственных задач с помощью pandas, и послужит небольшим введением в возможности этой библиотеки.

DataFrame и Series

Чтобы эффективно работать с pandas, необходимо освоить самые главные структуры данных библиотеки: DataFrame и Series. Без понимания что они из себя представляют, невозможно в дальнейшем проводить качественный анализ.

Series

Структура/объект Series представляет из себя объект, похожий на одномерный массив (питоновский список, например), но отличительной его чертой является наличие ассоциированных меток, т.н. индексов, вдоль каждого элемента из списка. Такая особенность превращает его в ассоциативный массив или словарь в Python.

В строковом представлении объекта Series, индекс находится слева, а сам элемент справа. Если индекс явно не задан, то pandas автоматически создаёт RangeIndex от 0 до N-1, где N общее количество элементов. Также стоит обратить, что у Series есть тип хранимых элементов, в нашем случае это int64, т.к. мы передали целочисленные значения.

У объекта Series есть атрибуты через которые можно получить список элементов и индексы, это values и index соответственно.

Доступ к элементам объекта Series возможны по их индексу (вспоминается аналогия со словарем и доступом по ключу).

Индексы можно задавать явно:

Делать выборку по нескольким индексам и осуществлять групповое присваивание:

Фильтровать Series как душе заблагорассудится, а также применять математические операции и многое другое:

Если Series напоминает нам словарь, где ключом является индекс, а значением сам элемент, то можно сделать так:

У объекта Series и его индекса есть атрибут name, задающий имя объекту и индексу соответственно.

Индекс можно поменять «на лету», присвоив список атрибуту index объекта Series

Имейте в виду, что список с индексами по длине должен совпадать с количеством элементов в Series.

DataFrame

Объект DataFrame лучше всего представлять себе в виде обычной таблицы и это правильно, ведь DataFrame является табличной структурой данных. В любой таблице всегда присутствуют строки и столбцы. Столбцами в объекте DataFrame выступают объекты Series, строки которых являются их непосредственными элементами.

DataFrame проще всего сконструировать на примере питоновского словаря:

Чтобы убедиться, что столбец в DataFrame это Series, извлекаем любой:

Объект DataFrame имеет 2 индекса: по строкам и по столбцам. Если индекс по строкам явно не задан (например, колонка по которой нужно их строить), то pandas задаёт целочисленный индекс RangeIndex от 0 до N-1, где N это количество строк в таблице.

В таблице у нас 4 элемента от 0 до 3.

Доступ по индексу в DataFrame

Индекс по строкам можно задать разными способами, например, при формировании самого объекта DataFrame или «на лету»:

Как видно, индексу было задано имя — Country Code. Отмечу, что объекты Series из DataFrame будут иметь те же индексы, что и объект DataFrame:

Доступ к строкам по индексу возможен несколькими способами:

  • .loc — используется для доступа по строковой метке
  • .iloc — используется для доступа по числовому значению (начиная от 0)

Можно делать выборку по индексу и интересующим колонкам:

Как можно заметить, .loc в квадратных скобках принимает 2 аргумента: интересующий индекс, в том числе поддерживается слайсинг и колонки.

Фильтровать DataFrame с помощью т.н. булевых массивов:

Кстати, к столбцам можно обращаться, используя атрибут или нотацию словарей Python, т.е. df.population и df[‘population’] это одно и то же.

Сбросить индексы можно вот так:

pandas при операциях над DataFrame, возвращает новый объект DataFrame.

Добавим новый столбец, в котором население (в миллионах) поделим на площадь страны, получив тем самым плотность:

Не нравится новый столбец? Не проблема, удалим его:

Особо ленивые могут просто написать del df[‘density’].

Переименовывать столбцы нужно через метод rename:

В этом примере перед тем как переименовать столбец Country Code, убедитесь, что с него сброшен индекс, иначе не будет никакого эффекта.

Чтение и запись данных

pandas поддерживает все самые популярные форматы хранения данных: csv, excel, sql, буфер обмена, html и многое другое:

Чаще всего приходится работать с csv-файлами. Например, чтобы сохранить наш DataFrame со странами, достаточно написать:

Функции to_csv ещё передаются различные аргументы (например, символ разделителя между колонками) о которых подробнее можно узнать в официальной документации.

Считать данные из csv-файла и превратить в DataFrame можно функцией read_csv.

Аргумент sep указывает разделитесь столбцов. Существует ещё масса способов сформировать DataFrame из различных источников, но наиболее часто используют CSV, Excel и SQL. Например, с помощью функции read_sql, pandas может выполнить SQL запрос и на основе ответа от базы данных сформировать необходимый DataFrame. За более подробной информацией стоит обратиться к официальной документации.

Группировка и агрегирование в pandas

Группировка данных один из самых часто используемых методов при анализе данных. В pandas за группировку отвечает метод .groupby. Я долго думал какой пример будет наиболее наглядным, чтобы продемонстрировать группировку, решил взять стандартный набор данных (dataset), использующийся во всех курсах про анализ данных — данные о пассажирах Титаника. Скачать CSV файл можно тут.

Необходимо подсчитать, сколько женщин и мужчин выжило, а сколько нет. В этом нам поможет метод .groupby.

А теперь проанализируем в разрезе класса кабины:

Сводные таблицы в pandas

Термин «сводная таблица» хорошо известен тем, кто не по наслышке знаком с инструментом Microsoft Excel или любым иным, предназначенным для обработки и анализа данных. В pandas сводные таблицы строятся через метод .pivot_table. За основу возьмём всё тот же пример с Титаником. Например, перед нами стоит задача посчитать сколько всего женщин и мужчин было в конкретном классе корабля:

В качестве индекса теперь у нас будет пол человека, колонками станут значения из PClass, функцией агрегирования будет count (подсчёт количества записей) по колонке Name.

Всё очень просто.

Анализ временных рядов

В pandas очень удобно анализировать временные ряды. В качестве показательного примера я буду использовать цену на акции корпорации Apple за 5 лет по дням. Файл с данными можно скачать тут.

Здесь мы формируем DataFrame с DatetimeIndex по колонке Date и сортируем новый индекс в правильном порядке для работы с выборками. Если колонка имеет формат даты и времени отличный от ISO8601, то для правильного перевода строки в нужный тип, можно использовать метод pandas.to_datetime.

Давайте теперь узнаем среднюю цену акции (mean) на закрытии (Close):

А если взять промежуток с февраля 2012 по февраль 2015 и посчитать среднее:

А что если нам нужно узнать среднюю цену закрытия по неделям?!

Resampling мощный инструмент при работе с временными рядами (time series), помогающий переформировать выборку так, как удобно вам. Метод resample первым аргументом принимает строку rule. Все доступные значения можно найти в документации.

Визуализация данных в pandas

Для визуального анализа данных, pandas использует библиотеку matplotlib. Продемонстрирую простейший способ визуализации в pandas на примере с акциями Apple.

Берём цену закрытия в промежутке между 2012 и 2017.

И видим вот такую картину:

По оси X, если не задано явно, всегда будет индекс. По оси Y в нашем случае цена закрытия. Если внимательно посмотреть, то в 2014 году цена на акцию резко упала, это событие было связано с тем, что Apple проводила сплит 7 к 1. Так мало кода и уже более-менее наглядный анализ 😉

Эта заметка демонстрирует лишь малую часть возможностей pandas. Со своей стороны я постараюсь по мере своих сил обновлять и дополнять её.

Rukovodstvo

статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.

Учебник для начинающих по библиотеке Python Pandas

Pandas — это пакет Python с открытым исходным кодом, который предоставляет множество инструментов для анализа данных. Пакет поставляется с несколькими структурами данных, которые можно использовать для множества различных задач манипулирования данными. Он также имеет множество методов, которые можно вызывать для анализа данных, что может пригодиться при работе над проблемами науки о данных и машинного обучения в Python. Преимущества использования Pandas Ниже приведены некоторые преимущества библиотеки Pandas [https://pandas.pydata.org/]: 1. Она может представлять

Время чтения: 14 мин.

Pandas — это пакет Python с открытым исходным кодом, который предоставляет множество инструментов для анализа данных. Пакет поставляется с несколькими структурами данных, которые можно использовать для множества различных задач манипулирования данными. Он также имеет множество методов, которые можно вызывать для анализа данных, что может пригодиться при работе над проблемами науки о данных и машинного обучения в Python.

Преимущества использования Pandas

Ниже приведены некоторые из преимуществ библиотеки Pandas :

  1. Он может представлять данные в виде, подходящем для анализа данных, с помощью структур данных Series и DataFrame
  2. Пакет содержит несколько методов для удобной фильтрации данных.
  3. Pandas имеет множество утилит для беспрепятственного выполнения операций ввода / вывода. Он может считывать данные из различных форматов, таких как CSV, TSV, MS Excel и т. Д.

Установка Pandas

Стандартный дистрибутив Python не поставляется с модулем Pandas. Чтобы использовать этот сторонний модуль, вы должны его установить.

Хорошая особенность Python заключается в том, что он поставляется в комплекте с инструментом под названием pip, который можно использовать для установки Pandas. Для установки вам необходимо выполнить следующую команду:

Если вы установили Anaconda в своей системе, просто выполните следующую команду, чтобы установить Pandas:

Настоятельно рекомендуется установить последнюю версию пакета Pandas. Однако, если вы хотите установить старую версию, вы можете указать ее, выполнив команду conda install следующим образом:

Структуры данных Pandas

Pandas имеет две основные структуры данных для хранения данных:

  1. Ряд
  2. DataFrame

Серия похожа на одномерный массив. Он может хранить данные любого типа. Значения а панды Series изменчивы , но размер Series неизменен и не может быть изменен.

Первому элементу в серии присваивается индекс 0 , а последнему элементу — индекс N-1 , где N — общее количество элементов в серии.

Чтобы создать Series Pandas, мы должны сначала импортировать пакет Pandas с помощью команды import Python:

Чтобы создать Series , мы вызываем метод pd.Series() и передаем массив, как показано ниже:

Затем запустите print чтобы отобразить содержимое Series :

Выход:

Вы можете видеть, что у нас есть два столбца: первый с номерами, начинающимися с индекса 0 а второй с элементами, которые были добавлены в серию.

Первый столбец обозначает индексы элементов.

Однако вы можете получить сообщение об ошибке при попытке отобразить Series . Основная причина этой ошибки заключается в том, что Pandas ищет объем информации для отображения, поэтому вы должны предоставить информацию вывода sys.

Вы можете устранить ошибку, выполнив код следующим образом:

Series также может быть создана из массива numpy. Давайте создадим массив numpy, а затем преобразуем его в Series Pandas:

Выход:

Начнем с импорта необходимых библиотек, включая numpy . Затем мы вызвали array() numpy, чтобы создать массив фруктов. Затем мы используем Series() и передаем ей массив, который мы хотим преобразовать в серию. Наконец, мы вызываем print() для отображения Series .

DataFrame

Фрейм данных Pandas можно рассматривать как таблицу. Он организует данные в строки и столбцы, что делает их двумерной структурой данных. Возможно, столбцы имеют другой тип, а размер DataFrame является изменяемым и, следовательно, может быть изменен.

Чтобы создать DataFrame, вы можете начать с нуля или преобразовать другие структуры данных, такие как массивы Numpy, в DataFrame. Вот как вы можете создать DataFrame с нуля:

Выход:

В этом примере мы создали DataFrame с именем df . Первый столбец DataFrame имеет целочисленные значения. Во втором столбце есть строка, в третьем столбце — значения с плавающей запятой, а в четвертом столбце — логические значения.

Оператор print(df) отобразит нам содержимое DataFrame через консоль, что позволит нам проверить и проверить его содержимое.

Однако при отображении DataFrame вы могли заметить, что в начале таблицы есть дополнительный столбец, элементы которого начинаются с 0. Этот столбец создается автоматически и отмечает индексы строк.

Чтобы создать DataFrame, мы должны вызвать метод pd.DataFrame() как показано в приведенном выше примере.

Мы можем создать DataFrame из списка или даже набора списков. Нам нужно только вызвать метод pd.DataFrame() и затем передать ему переменную списка в качестве единственного аргумента.

Рассмотрим следующий пример:

Выход:

В этом примере мы создали список с именем mylist с последовательностью из 5 целых чисел. Затем мы вызвали метод DataFrame() и передали ему имя списка в качестве аргумента. Здесь произошло преобразование списка в DataFrame.

Затем мы распечатали содержимое DataFrame. DataFrame имеет столбец по умолчанию, показывающий индексы, причем первый элемент имеет индекс 0, а последний — индекс N-1 , где N — общее количество элементов в DataFrame.

Вот еще один пример:

Выход:

Здесь мы создали список с именами items с набором из 3 элементов. Для каждого товара у нас есть название и цена. Затем список передается DataFrame() , чтобы преобразовать его в объект DataFrame

В этом примере также указаны имена столбцов для DataFrame. Числовые значения также были преобразованы в значения с плавающей запятой, поскольку мы указали dtype как «float».

Чтобы получить сводку данных этого элемента, мы можем вызвать describe() для переменной DataFrame, то есть df :

Выход:

Функция describe() возвращает некоторые общие статистические сведения о данных, включая среднее значение, стандартное отклонение, минимальный элемент, максимальный элемент и некоторые другие сведения. Это отличный способ получить снимок данных, с которыми вы работаете, если набор данных вам относительно неизвестен. Это также может быть хорошим способом быстро сравнить два отдельных набора схожих данных.

Импорт данных

Часто вам нужно использовать Pandas для анализа данных, которые хранятся в файле Excel или в файле CSV. Для этого вам необходимо открыть и импортировать данные из таких источников в Pandas.

К счастью, Pandas предоставляет нам множество методов, которые мы можем использовать для загрузки данных из таких источников в Pandas DataFrame.

Импорт данных CSV

Файл CSV, обозначающий значения, разделенные запятыми , представляет собой просто текстовый файл со значениями, разделенными запятой (,). Поскольку это очень известный и часто используемый стандарт, мы можем использовать Pandas для чтения файлов CSV полностью или частично.

В этом примере мы создадим CSV-файл с именем cars.csv . В файле должны быть следующие данные:

Вы можете скопировать данные и вставить их в текстовый редактор, например «Блокнот», а затем сохранить их с именем cars.csv в том же каталоге, что и ваши скрипты Python.

Pandas предоставляет нам метод с именем read_csv который можно использовать для чтения значений CSV в Pandas DataFrame. Метод принимает в качестве аргумента путь к CSV-файлу.

Следующий код — это то, что мы будем использовать, чтобы помочь нам прочитать файл cars.csv:

Выход:

В моем случае я сохранил CSV-файл в том же каталоге, что и скрипт Python, поэтому я просто передал имя файла read_csv и он знал, что нужно проверить текущий рабочий каталог.

Если вы сохранили свой файл по другому пути, убедитесь, что вы передали правильный путь в качестве аргумента метода. Это может быть относительный путь, например «../cars.csv», или абсолютный путь, например «/Users/nicholas/data/cars.csv».

В некоторых случаях в наборе данных могут быть тысячи строк. В таком случае было бы более полезно напечатать на консоли только первые несколько строк, чем печатать все строки.

Это можно сделать, вызвав метод head() в DataFrame, как показано ниже:

Для наших данных выше приведенная выше команда возвращает только первые 5 строк набора данных, что позволяет вам проверить небольшую выборку данных. Это показано ниже:

Выход:

Метод loc() — прекрасная утилита, которая помогает нам читать только определенные строки определенного столбца в наборе данных, как показано в следующем примере:

Выход:

Здесь мы использовали метод loc() только для чтения элементов с индексами 0, 4 и 7 столбца Type.

Иногда Wwe может потребоваться прочитать только определенные столбцы, а не другие. Это также можно сделать с помощью loc() , показанного ниже в этом примере:

Выход:

Здесь мы использовали loc() метод , чтобы прочитать все строки (далее : часть) только два из наших столбцов из набора данных, то есть, тип и емкость колонны, как указано в аргументе.

Импорт данных Excel

В дополнение к read_csv , Pandas также имеет read_excel которую можно использовать для чтения данных Excel в Pandas DataFrame. В этом примере мы будем использовать файл Excel с именем worker.xlsx с подробной информацией о сотрудниках компании.

Следующий код можно использовать для загрузки содержимого файла Excel в Pandas DataFrame:

Выход:

После вызова read_excel мы затем передали имя файла в качестве аргумента, который read_excel использовал для открытия / загрузки файла и последующего анализа данных. Затем print() помогает нам отображать содержимое DataFrame, как мы это делали в прошлых примерах.

И, как и в нашем примере CSV, эту функцию можно объединить с loc() чтобы помочь нам прочитать определенные строки и столбцы из файла Excel.

Выход:

Мы использовали метод loc() для получения значений Name и Salary элементов с индексами 1, 4 и 7.

Pandas также позволяет нам читать с двух листов Excel одновременно. Предположим, что наши предыдущие данные находятся в Sheet1, а у нас есть некоторые другие данные в Sheet2 того же файла Excel. Следующий код показывает, как мы можем читать с двух листов одновременно:

Выход:

Произошло то, что мы объединили read_excel() с ExcelFile оболочкой ExcelFile. Переменная x была создана при вызове класса-оболочки и with ключевым словом Python, которое мы используем для временного открытия файла.

Из переменной x ExcelFile мы создали еще две переменные, s1 и s2 для представления содержимого, считанного с разных листов.

Затем мы использовали print для просмотра содержимого двух листов в консоли. Бланк print заявление, print("") , используется только для печати пустой строки между нашими данными листа.

Преодоление данных

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

Слияние

Библиотека Pandas позволяет нам присоединяться к объектам DataFrame через функцию merge() Давайте создадим два DataFrames и продемонстрируем, как их объединить.

Вот первый DataFrame, df1 :

Выход:

Вот код для создания второго DataFrame, df2 :

Выход:

Теперь нам нужно объединить два DataFrames, то есть df1 и df2 по значениям subject_id . Мы просто вызываем merge() как показано ниже:

Выход:

Что делает слияние, так это то, что оно возвращает строки из обоих DataFrames с одинаковым значением для столбца, который вы используете для слияния.

Есть много других способов использования pd.merge которые мы не будем рассматривать в этой статье, например, какие данные следует объединить, как их следует объединить, нужно ли их сортировать и т. Д. Для получения дополнительной информации см. из официальной документации по функции слияния .

Группировка

Группировка — это процесс помещения данных в различные категории. Вот простой пример:

Выход:

В этом простом примере мы сгруппировали данные по годам, в данном случае это был 2010 год. Мы также могли сгруппировать данные по любым другим столбцам, таким как «Имя», «Позиция» и т. Д.

Конкатенация

Объединение данных, что в основном означает добавление одного набора данных к другому, может быть выполнено с помощью вызова функции concat() .

Давайте продемонстрируем, как объединить DataFrames, используя наши два предыдущих Dataframes, то есть df1 и df2 , каждый с двумя столбцами, «subject_id» и «student_name»:

Выход:

Описательная статистика

Как я вкратце показал ранее, когда мы используем describe() мы получаем описательную статистику для числовых столбцов, но символьные столбцы исключаются.

Давайте сначала создадим DataFrame, показывающий имена учащихся и их оценки по математике и английскому языку:

Выход:

Нам нужно только вызвать describe() в DataFrame и получить различные меры, такие как среднее значение, стандартное отклонение, медиана, максимальный элемент, минимальный элемент и т. Д.:

Выход:

Как видите, метод describe() полностью проигнорировал столбец «Имя», поскольку он не является числовым, что нам и нужно. Это упрощает работу вызывающего абонента, поскольку вам не нужно беспокоиться об удалении нечисловых столбцов перед вычислением желаемой числовой статистики.

Заключение

Pandas — чрезвычайно полезная библиотека Python, особенно для науки о данных. Различные функции Pandas делают предварительную обработку данных чрезвычайно простой. Эта статья представляет собой краткое введение в основные функции библиотеки. В этой статье мы увидели рабочие примеры всех основных утилит библиотеки Pandas. Чтобы максимально использовать возможности Pandas, я предлагаю вам попрактиковаться в примерах из этой статьи, а также протестировать библиотеку с вашими собственными наборами данных. Удачного кодирования!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *