Переиндексация в Pandas DataFrame

| | | | | | | | | | | | | | | |

Переиндексацию в Pandas можно использовать для изменения индекса строк и столбцов в DataFrame. Индексы можно использовать со ссылкой на несколько индексов DataStructure, связанных с несколькими сериями panda или panda DataFrame. Давайте посмотрим, как мы можем переиндексировать столбцы и строки в Pandas DataFrame.

Переиндексировать строки

Вы можете переиндексировать одну или несколько строк, используя reindex() . Значения по умолчанию в новом индексе, которых нет во фрейме данных, назначаются NaN.

Пример № 1:


# import numpy and pandas module

import pandas как pd

import numpy as np


столбец = [ `a ` , ` b` , `c` , ` d` , `e` ]

index = [ `A` , ` B` , `C ` , ` D` , `E` ]


# создать фрейм данных случайных значений массива ‚Äã‚Äã

df1 = pd.DataFrame (np.random.rand ( 5 , 5 ),

столбцы = столбец, индекс = индекс )

print (df1)


print ( `Кадр данных после переиндексации строк:` ,

df1.reindex ([ `B` , ` D` , ` A` , `C` , `E` ]))

Вывод :

Пример № 2:


# импортировать модули numpy и pandas

import pandas as pd

import numpy как np


столбец = [ `a` , ` b` , `c` , ` d` , `e` ]

index = [ `A` , `B` , ` C` , `D` , ` E ` ]


# создать данные для имя случайных значений массива ‚Äã‚Äã

df1 = pd.DataFrame (np.random.rand ( 5 , 5 ),

столбцы = столбец, индекс = index )


# создайте новый индекс для строк

new_index = [ `U` , ` A` , `B` , ` C` , `Z ` ]


print (df1.reindex (new_index))

Вывод:

Переиндексация столбцов с использованием ключевого слова axis

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

Пример № 1:


# import numpy and pandas module

import pandas как pd

import numpy as np


столбец = [ `a ` , ` b` , `c` , ` d` , `e` ]

index = [ `A` , ` B` , `C ` , ` D` , `E` ]


# создать фрейм данных случайных значений массива ‚Äã‚Äã

df1 = pd.DataFrame (np.random.rand ( 5 , 5 ),

столбцы = столбец, индекс = индекс )

столбец = [ `e` , ` a` , `b` , `c` , ` d` ]


# создайте новый индекс для столбцов

print (df1.reindex (столбец, ось = ` столбцы` ))

Вывод:

Пример № 2:


# импортировать модуль numpy и pandas

<код class ="keyword"> import pandas as pd

import numpy as np


столбец = [ `a` , `b` , ` c` , ` d` , `e` ]

index = [ `A` , ` B` , `C` , ` D` , `E` ]


# создать фрейм данных случайных значений массива ‚Äã‚Äã

df1 = pd.DataFrame (np.random.rand ( 5 , 5 ),

столбцы = столбец, индекс = index)


столбец = [ `a` , ` b` , `c` , ` g` , ` h` ]


# создайте новый индекс для столбцов

print (df1.reindex (column, axis = `columns` ))

Вывод:

Замена отсутствующих значений ‚Äã‚Äã

Код № 1: вы можете заполнить отсутствующие значения ‚Äã‚Äãиз фрейма данных, передав значение ключевому слову fill_value . Это ключевое слово заменяет значения NaN.


# import numpy and pandas module

импортировать pandas as pd

import numpy as np


столбец = [ ` a` , `b` , ` c` , ` d` , ` e` ]

index = [ ` A` , `B` , ` C` , `D` , ` E` ]


# создать фрейм данных случайных значений массива ‚Äã‚Äã

df1 = pd.DataFrame (np.random.rand ( 5 , 5 ) ,

столбцы = столбец, индекс = index)


столбец = [ `a` , ` b` , `c` , `g` , `h` ]


# создайте новый индекс для столбцов

print (df1.reindex (столбец, ось = `columns` , fill_value = 1.5 ))

Вывод:

Код № 2: Замените отсутствующие данные строкой.


# импортировать модуль numpy и pandas

import pandas as pd

import numpy as np


столбец = [ `a` , ` b` , ` c` , ` d` , `e` ]

index = [ `A` , `B` , ` C` , `D` , <класс кода = "string"> `E` ]


# создать фрейм данных случайных значений массива ‚Äã‚Äã

df1 = pd.DataFrame (np.random.rand ( 5 , 5 ),

столбцы = столбец, индекс = index)


столбец = [ `a` , `b` , ` c` , `g` , `h` ]


# создать новый индекс для столбцов

print (df1.reindex (столбец, ось = `columns` , fill_value = ` данные отсутствует` ))

Вывод: