3 простых способа создать подмножество фрейма данных Python
Здравствуйте, читатели! В этой статье мы подробно сосредоточимся на различных способах создания подмножества кадра данных Python.
Итак, давайте начнем!
Во-первых, что такое кадр данных Python?
Модуль Python Pandas предоставляет нам две структуры данных, а именно Series и Dataframe для хранения значений.
Dataframe — это структура данных, которая содержит данные в виде матрицы, т. е. содержит данные в форме значений строк и столбцов. Таким образом, в связи с ним мы можем создать и получить доступ к его подмножеству в следующих форматах:
- Доступ к данным в соответствии со строками как подмножество
- Выбрать данные по столбцам как подмножество
- Доступ к определенным данным из некоторых строк, а также столбцов в виде подмножества
Поняв о Dataframe и подмножествах, давайте теперь разберемся с различными методами создания подмножества из Dataframe.
Создание Dataframe для работы!
Чтобы создать подмножества фрейма данных, нам нужно создать фрейм данных. Давайте сначала уберем это с нашего пути:
import pandas as pd
data = {"Roll-num": [10,20,30,40,50,60,70], "Age":[12,14,13,12,14,13,15], "NAME":['John','Camili','Rheana','Joseph','Amanti','Alexa','Siri']}
block = pd.DataFrame(data)
print("Original Data frame:\n")
print(block)
Выход:
Original Data frame:
Roll-num Age NAME
0 10 12 John
1 20 14 Camili
2 30 13 Rheana
3 40 12 Joseph
4 50 14 Amanti
5 60 13 Alexa
6 70 15 Siri
Здесь мы создали фрейм данных, используя метод pandas.DataFrame()
. В этой статье мы будем использовать созданный выше набор данных.
Начнем!
1. Создайте подмножество кадра данных Python с помощью функции loc().
Функция Python loc() позволяет нам формировать подмножество фрейма данных в соответствии с определенной строкой или столбцом или их комбинацией.
Функция loc()
работает на основе меток, т. е. нам нужно предоставить ей метку строки/столбца, чтобы выбрать и создать настраиваемое подмножество.
Синтаксис:
pandas.dataframe.loc[]
Пример 1: извлечение данных определенных строк фрейма данных
block.loc[[0,1,3]]
Выход:
Как показано ниже, мы создали подмножество, включающее все данные строк 0, 1 и 3.
Roll-num Age NAME
0 10 12 John
1 20 14 Camili
3 40 12 Joseph
Пример 2. Создание подмножества строк с использованием срезов
block.loc[0:3]
Здесь мы извлекли данные всех строк от индекса 0 до индекса 3, используя оператор среза с функцией loc().
Выход:
Roll-num Age NAME
0 10 12 John
1 20 14 Camili
2 30 13 Rheana
3 40 12 Joseph
Пример 3. Создайте подмножество определенных столбцов с помощью меток.
block.loc[0:2,['Age','NAME']]
Выход:
Age NAME
0 12 John
1 14 Camili
2 13 Rheana
Здесь мы создали подмножество, которое включает данные из строк с 0 по 2, но включает данные только некоторых определенных столбцов, например «Возраст» и «ИМЯ».
2. Использование функции Python iloc() для создания подмножества фрейма данных
Функция Python iloc() позволяет нам создавать подмножества, выбирая определенные значения из строк и столбцов на основе индексов.
То есть, в отличие от функции loc(), которая работает с метками, функция iloc() работает со значениями индекса. Мы можем выбрать и создать подмножество кадра данных Python из данных, предоставляющих порядковые номера строк и столбцов.
Синтаксис:
pandas.dataframe.iloc[]
Пример:
block.iloc[[0,1,3,6],[0,2]]
Здесь мы создали подмножество, которое включает данные строк 0, 1, 3 и 6, а также столбцы с номерами 0 и 2, то есть «Roll-num» и «NAME».
Выход:
Roll-num NAME
0 10 John
1 20 Camili
3 40 Joseph
6 70 Siri
3. Оператор индексации для создания подмножества фрейма данных
Проще говоря, мы можем использовать оператор индексации, то есть квадратные скобки, для создания подмножества данных.
Синтаксис:
dataframe[['col1','col2','colN']]
Пример:
block[['Age','NAME']]
Здесь мы выбрали все значения данных столбцов «Возраст» и «ИМЯ» соответственно.
Выход:
Age NAME
0 12 John
1 14 Camili
2 13 Rheana
3 12 Joseph
4 14 Amanti
5 13 Alexa
6 15 Siri
Заключение
На этом мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если у вас возникнут какие-либо вопросы. Следите за новостями, чтобы узнать больше о таких сообщениях, связанных с Python, а пока удачного обучения!! :)