Я изучаю панд и наткнулся на следующий метод сравнения строк в кадре данных.
Здесь я использую функции np.were
и shift()
для сравнения значений в столбце.
import pandas as pd
import numpy as np
# Initialise data to Dicts of series.
d = {'col' : pd.Series([10, 30, 20, 40, 70, 60])}
# creates Dataframe.
df = pd.DataFrame(d)
df['Relation'] = np.where(df['col'] > df['col'].shift(), "Grater", "Less")
df
Здесь вывод выглядит следующим образом:
col Relation
0 10 Less
1 30 Grater
2 20 Less
3 40 Grater
4 70 Grater
5 60 Less
У меня путаница в строке 3, почему она выглядит как Grater
?, 40 меньше 70, поэтому она должна выглядеть как Less
. Что я тут не так делаю?