Как указано в другом ответе, метод as_matrix
устарел с 0.23.0, поэтому вместо него следует использовать to_numpy
. Однако я хочу подчеркнуть тот факт, что as_matrix
и to_numpy
имеют разные подписи: as_matrix принимает список имен столбцов в качестве одного из параметров, если вы хотите ограничить преобразование подмножеством оригинального DataFrame; to_ numpy не принимает такой параметр. Как следствие, эти два метода полностью взаимозаменяемы, только если вы хотите полностью преобразовать DataFrame. Если вам (как в моем случае) необходимо преобразовать подмножество матрицы, использование будет совершенно разным в двух случаях использования.
Например, давайте предположим, что нам нужно только преобразовать подмножество ['col1' , 'col2', 'col4'] нашего исходного DataFrame в массив Numpy. В этом случае у вас может быть какой-то устаревший код, основанный на as_matrix
для преобразования, который выглядит примерно так:
df.as_matrix(['col1', 'col2', 'col4'])
При преобразовании приведенного выше кода в to_numpy
вы не можете просто заменить имя функции, например in:
df.to_numpy(['col1', 'col2', 'col4']) # WRONG
, поскольку to_numpy
не принимает подмножество столбцов в качестве параметра. Решением в этом случае было бы сначала сделать выбор и применить to_numpy
к результату, как в:
df[['col1', 'col2', 'col4']].to_numpy() # CORRECT