Любой кадр данных может быть преобразован в массив numpy
с использованием метода to_array()
:
>>> df = pandas.DataFrame({'A': [1, 2, 3],
'B': [1.0, 2.0, 3.0],
'C': ['a', 'b', 'c']})
>>> df.to_numpy()
array([[1, 1.0, 'a'],
[2, 2.0, 'b'],
[3, 3.0, 'c']], dtype=object)
>>> df['A'].to_numpy()
array([1, 2, 3])
>>> df[['A', 'B']].to_numpy()
array([[1., 1.],
[2., 2.],
[3., 3.]])
>>> df[['C']].to_numpy()
array([['a'],
['b'],
['c']], dtype=object)
Таким образом, вы можете просто использовать pandas
и затем извлечь массив numpy из полученного кадра данных .
Как указывает Parfait , при преобразовании необходимо соблюдать осторожность в отношении типов данных. Я оставил это неявным в приведенном выше примере, но обратите внимание, как первый пример генерирует массив с dtype=object
, тогда как второй генерирует обычный массив с плавающей запятой. Я думаю, что подробное обсуждение типов данных в numpy
выходит за рамки этого вопроса.