В этом кратком руководстве мы рассмотрим два метода создания Pandas DataFrame: ввод значений вручную и создание датафрейма на основе значений, импортированных из файла (например, CSV).
Примечание редакции Pythonist: о том, что собой представляет Pandas, можно почитать в статье «Полное руководство по Pandas для начинающих».
Создание Pandas DataFrame путем ввода значений вручную
Чтобы создать Pandas DataFrame в Python, можно следовать этому общему шаблону:
import pandas as pd data = {'first_column': ['first_value', 'second_value', ...], 'second_column': ['first_value', 'second_value', ...], .... } df = pd.DataFrame(data) print(df)
Обратите внимание, что использовать кавычки вокруг числовых значений не нужно (если только вы не хотите получить эти значения в виде строк).
Теперь давайте на простом примере рассмотрим, как применить этот шаблон.
Для начала предположим, что у вас есть следующие данные о товарах, и вы хотите захватить эти данные с помощью датафрейма Pandas:
product_name | price |
---|---|
laptop | 1200 |
printer | 150 |
tablet | 300 |
desk | 450 |
chair | 200 |
Для создания DataFrame для нашего примера вы можете использовать следующий код:
import pandas as pd data = {'product_name': ['laptop', 'printer', 'tablet', 'desk', 'chair'], 'price': [1200, 150, 300, 450, 200] } df = pd.DataFrame(data) print(df)
Запустите этот код в Python, и вы получите такой DataFrame:
product_name price 0 laptop 1200 1 printer 150 2 tablet 300 3 desk 450 4 chair 200
Как видите, каждая строка обозначена числом (также известным как индекс), начиная с 0. В качестве альтернативы вы можете назначить другое значение/имя для обозначения каждой строки.
Например, в приведенном ниже коде мы добавили index=['product_1', 'product_2', 'product_3', 'product_4', 'product_5']
:
import pandas as pd data = {'product_name': ['laptop', 'printer', 'tablet', 'desk', 'chair'], 'price': [1200, 150, 300, 450, 200] } df = pd.DataFrame(data, index=['product_1', 'product_2', 'product_3', 'product_4', 'product_5']) print(df)
Теперь при выводе датафрейма вы увидите новый индекс:
product_name price product_1 laptop 1200 product_2 printer 150 product_3 tablet 300 product_4 desk 450 product_5 chair 200
Импорт значений из CSV-файла для создания Pandas DataFrame
Для импорта данных из CSV-файла в Python для создания DataFrame можно использовать следующий шаблон:
import pandas as pd data = pd.read_csv(r'Path where the CSV file is stored\File name.csv') df = pd.DataFrame(data) print(df)
Допустим, у вас есть следующие данные, хранящиеся в CSV-файле products
:
product_name | price |
---|---|
laptop | 1200 |
printer | 150 |
tablet | 300 |
desk | 450 |
chair | 200 |
В приведенном ниже коде Python вам нужно будет изменить путь, указав местонахождение CSV-файла на вашем компьютере.
Например, пусть путь к нашему CSV-файлу выгдядит так: 'C:\Users\Ron\Desktop\products.csv'
.
Вот полный код создания датафрейма из данных в нашем файле:
import pandas as pd data = pd.read_csv(r'C:\Users\Ron\Desktop\products.csv') df = pd.DataFrame(data) print(df)
Запустив этот код, вы увидите тот же Pandas DataFrame:
product_name price 0 laptop 1200 1 printer 150 2 tablet 300 3 desk 450 4 chair 200
Такой датафрейм можно создать и путем импорта Excel-файла.
Поиск максимального значения в DataFrame
Поместив данные в Pandas DataFrame, вы можете осуществлять различные манипуляции с ними. Например, подсчитывать статистику.
Допустим, вы хотите найти максимальную цену среди цен всех продуктов в датафрейме.
Конечно, сейчас вы можете это сделать, просто бегло просмотрев цифры на экране, но на практике вы будете работать с большими наборами данных.
Чтобы найти максимальную цену, нужно добавить в наш код следующую строку (и не забыть вывести результат):
max_price = df['price'].max()
Вот полный код:
import pandas as pd data = {'product_name': ['laptop', 'printer', 'tablet', 'desk', 'chair'], 'price': [1200, 150, 300, 450, 200] } df = pd.DataFrame(data) max_price = df['price'].max() print(max_price)
Запустив этот код, вы получите значение 1200, которое и является максимальной ценой в нашем датафрейме.
Узнать больше о создании DataFrame можно в документации Pandas.
Перевод статьи «How to Create Pandas DataFrame in Python».