Можно ли итерировать данные получаемые при помощи функции?

У меня есть 2 датафрейма

ma = [[2.0, 111], 
         [3.0, 222], 
         [4.0, 555], 
         [5.0, 888], 
         [6.0, 777]]
data2 = [[0, 2.0],
         [0, 3.0],
         [0, 4.0],
         [0, 5.0],
         [0, 6.0]]
columns1 = ['number', 'value']
columns2 = ['value', 'number']

ma = pd.DataFrame(np.array(ma), columns=columns1)
df2 = pd.DataFrame(np.array(data2), columns=columns2)

Также у меня есть функция

def numero(x):
    return ma.iloc[x-2]['value']

далее я пытаюсь напечатать список номеров из этого датафрейма на основе второго (df2):

for i in df2['number']:
    numero(i)

В итоге TypeError: Cannot index by location index with a non-integer key

В чем дело? Ведь функция numero работает.


Ответы (1 шт):

Автор решения: strawdog
def numero(x):
    return ma.loc[x-2, "value"]
→ Ссылка