Любой кадр данных можно преобразовать в массив 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 из полученного кадра данных.
Как парфе указывает, вы должны быть осторожны с типами данных при выполнении преобразования. Я оставил это неявным в приведенном выше примере, но обратите внимание, как первый пример генерирует массив с dtype=object
, тогда как второй генерирует обычный массив с плавающей запятой. Я думаю, что подробное обсуждение типов данных в numpy
выходит за рамки этого вопроса.
person
senderle
schedule
28.01.2020