Для df
кадра данных, который у меня есть от другого вопроса:
In [907]: type(df)
Out[907]: pandas.core.frame.DataFrame
In [908]: type(df.loc[1])
Out[908]: pandas.core.series.Series
In [909]: type(df.loc[1][1])
Out[909]: numpy.int64
Посмотрите, как последовательные loc
шаги индексации дают Series
, а затем числовое значение c.
Метод to_numpy
в информационном фрейме создает массив 2d:
In [912]: df.to_numpy().shape
Out[912]: (22, 2)
, примененный к серии, мы получаем массив 1d:
In [913]: df.loc[1].to_numpy()
Out[913]: array([28, 13])
Но, как ваша ошибка показывает, вот и все. Объект np.float object does not have a
to_ numpymethod. It already is a
numpy`.
При написании подобного кода вы должны знать, какие объекты создает каждый шаг. И будьте готовы проверить это знание. Плохие догадки приводят к ошибкам.