Нарезка, индексирование, манипулирование и очистка фрейма данных Pandas

Опубликовано: 27 Марта, 2022

С помощью Pandas мы можем выполнять множество функций с набором данных, таких как нарезка, индексирование, манипулирование и очистка фрейма данных.

Случай 1. Нарезка кадра данных Pandas с использованием DataFrame.iloc []

Example 1: Slicing Rows 

Python3

# importing pandas library
import pandas as pd
  
# Initializing the nested list with Data set
player_list = [["M.S.Dhoni", 36, 75, 5428000], 
               ["A.B.D Villers", 38, 74, 3428000], 
               ["V.Kholi", 31, 70, 8428000],
               ["S.Smith", 34, 80, 4428000], 
               ["C.Gayle", 40, 100, 4528000],
               ["J.Root", 33, 72, 7028000],
               ["K.Peterson", 42, 85, 2528000]]
  
# creating a pandas dataframe
df = pd.DataFrame(player_list, columns=["Name", "Age", "Weight", "Salary"])
  
# data frame before slicing
df

Выход:

Python3

# Slicing rows in data frame
df1 = df.iloc[0:4]
  
# data frame after slicing
df1

Выход:

В приведенном выше примере мы вырезали строки из фрейма данных.

Example 2: Slicing Columns 

Python3

# importing pandas library
import pandas as pd
  
# Initializing the nested list with Data set
player_list = [["M.S.Dhoni", 36, 75, 5428000],
               ["A.B.D Villers", 38, 74, 3428000],
               ["V.Kholi", 31, 70, 8428000],
               ["S.Smith", 34, 80, 4428000],
               ["C.Gayle", 40, 100, 4528000],
               ["J.Root", 33, 72, 7028000], 
               ["K.Peterson", 42, 85, 2528000]]
  
# creating a pandas dataframe
df = pd.DataFrame(player_list, columns=["Name", "Age", "Weight", "Salary"])
  
# data frame before slicing
df

Выход:

Python3

# Slicing columnss in data frame
df1 = df.iloc[:,0:2]
  
# data frame after slicing
df1

Выход:

В приведенном выше примере мы вырезали столбцы из фрейма данных.

Case 2: Indexing Pandas Data frame 

Python3

# importing pandas library
import pandas as pd
  
# Initializing the nested list with Data set
player_list = [["M.S.Dhoni", 36, 75, 5428000], 
               ["A.B.D Villers", 38, 74, 3428000],
               ["V.Kholi", 31, 70, 8428000],
               ["S.Smith", 34, 80, 4428000], 
               ["C.Gayle", 40, 100, 4528000],
               ["J.Root", 33, 72, 7028000], 
               ["K.Peterson", 42, 85, 2528000]]
  
# creating a pandas dataframe and indexing it using Aplhabets
df = pd.DataFrame(player_list, columns=["Name", "Age", "Weight", "Salary"],
                  index=["A", "B", "C", "D", "E", "F", "G"])
  
  
# Displaying data frame
df

Выход:

В приведенном выше примере мы индексируем фрейм данных.

Случай 3: манипулирование фреймом данных Pandas

Манипулирование фреймом данных можно выполнять несколькими способами, например, применять функции, изменять тип данных столбцов, разбивать, добавлять строки и столбцы во фрейм данных и т. Д.

Example 1: Applying lambda function to a column using Dataframe.assign()

Python3

# importing pandas library
import pandas as pd
  
# creating and initializing a list
values = [["Rohan", 455], ["Elvish", 250], ["Deepak", 495],
          ["Sai", 400], ["Radha", 350], ["Vansh", 450]]
  
# creating a pandas dataframe
df = pd.DataFrame(values, columns=["Name", "Univ_Marks"])
  
# Applying lambda function to find percentage of
# "Univ_Marks" column using df.assign()
df = df.assign(Percentage=lambda x: (x["Univ_Marks"] / 500 * 100))
  
# displaying the data frame
df

Выход:

В приведенном выше примере лямбда-функция применяется к столбцу Univ_Marks, и с его помощью формируется новый столбец Percentage.

Example 2: Sorting the Data frame in Ascending order

Python3

# importing pandas library
import pandas as pd
  
# Initializing the nested list with Data set
player_list = [["M.S.Dhoni", 36, 75, 5428000],
               ["A.B.D Villers", 38, 74, 3428000],
               ["V.Kholi", 31, 70, 8428000],
               ["S.Smith", 34, 80, 4428000], 
               ["C.Gayle", 40, 100, 4528000],
               ["J.Root", 33, 72, 7028000],
               ["K.Peterson", 42, 85, 2528000]]
  
# creating a pandas dataframe
df = pd.DataFrame(player_list, columns=["Name", "Age", "Weight", "Salary"])
  
# Sorting by column "Weight"
df.sort_values(by=["Weight"])

Выход:

В приведенном выше примере мы сортируем фрейм данных по столбцу «Вес».

Case 4: Cleaning Pandas Data frame 

Python3

# importing pandas and Numpy libraries
import pandas as pd
import numpy as np
  
# Initializing the nested list with Data set
player_list = [["M.S.Dhoni", 36, 75, 5428000],
               ["A.B.D Villers", np.nan, 74, np.nan],
               ["V.Kholi", 31, 70, 8428000],
               ["S.Smith", 34, 80, 4428000],
               ["C.Gayle", np.nan, 100, np.nan],
               [np.nan, 33, np.nan, 7028000], 
               ["K.Peterson", 42, 85, 2528000]]
  
# creating a pandas dataframe
df = pd.DataFrame(player_list, columns=["Name", "Age", "Weight", "Salary"])
  
df

Выход:

Python3

# Checking for missing values
df.isnull().sum()

Выход:

Python3

# dropping or cleaning the missing data 
df= df.dropna() 
df

Выход:

В приведенном выше примере мы очищаем все недостающие значения из набора данных.

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.