Как сместить столбец в pandas: с примерами


Вы можете использовать функциюshift() для смещения значений вверх или вниз по столбцу в DataFrame pandas:

 #shift values down by 1
df[' column1 '] = df[' column1 ']. shift (1)

#shift values up by 1
df[' column1 '] = df[' column1 ']. shift (-1)

В следующих примерах показано, как использовать эту функцию на практике со следующим DataFrame pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' product ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' sales ': [4, 7, 8, 12, 15, 19]})

#view DataFrame
df

        product sales
0 to 4
1 B 7
2 C 8
3 D 12
4 E 15
5 F 19

Пример 1. Перемещение столбца вверх или вниз

Следующий код показывает, как сдвинуть все значения в столбце «продукт» вниз на 1:

 #shift all 'product' values down by 1
df[' product '] = df[' product ']. shift (1)

#view updated DataFrame
df

	product sales
0 NaN 4
1 to 7
2 B 8
3 C 12
4 D 15
5 E 19

Обратите внимание, что каждое значение в столбце «продукт» было сдвинуто на 1, а первое значение в столбце было изменено на NaN.

Также обратите внимание, что последнее значение в столбце «Продукт» («F») было полностью удалено из DataFrame.

Чтобы сохранить значение «F» в DataFrame, нам сначала нужно добавить пустую строку внизу DataFrame, а затем выполнить смещение:

 import numpy as np

#add empty row to bottom of DataFrame
df. loc [len(df. index )] = [np. nah , np. no ]

#shift all 'product' values down by 1
df[' product '] = df[' product ']. shift (1)

#view updated DataFrame
df

	product sales
0 NaN 4.0
1 to 7.0
2B 8.0
3C 12.0
4 D 15.0
5 E 19.0
6 F NaN

Обратите внимание, что значение «F» сохраняется как последнее значение в столбце «Продукт».

Пример 2. Перемещение нескольких столбцов вверх или вниз

Следующий код показывает, как сдвинуть все значения в столбцах «продукт» и «продажи» вверх на 2:

 #shift all 'product' and 'sales' values up by 2
df[[' product ', ' sales ']] = df[[' product ', ' sales ']]. shift (-2)

#view updated DataFrame
df

        product sales
0 C 8.0
1 D 12.0
2 E 15.0
3 F 19.0
4 NaN NaN
5 NaN NaN

Обратите внимание, что каждое значение в столбцах «Продукт» и «Продажи» было сдвинуто вверх на 2, а два нижних значения в каждом столбце были изменены на NaN.

Примечание . Полную документацию по функции сдвиг() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как добавить строки в DataFrame Pandas
Как добавить столбец в DataFrame Pandas
Как добавить строку заголовка в DataFrame Pandas

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

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