我有一个DateFrame:
TV Radio Newspaper Sales
1 230.1 37.8 69.2 22.1
2 44.5 39.3 45.1 10.4
3 17.2 45.9 69.3 9.3
4 151.5 41.3 58.5 18.5
5 180.8 10.8 58.4 12.9
我需要创建两个NumPy数组。其中一个包含Sales
行内容,另一个包含TV
,Radio
和Newspaper
行。
import numpy as np
first_arr = np.array(myDateFrame['Sales'].values) #It works
second_arr = np.array(myDateFrame['TV', 'Radio', 'Newspaper']) #It doesn't work
它出现以下错误:
error: KeyError: ('TV', 'Radio', 'Newspaper')
我在哪里犯了错误?
答案 0 :(得分:0)
你可以这样做:
>>> myDateFrame[['TV', 'Radio', 'Newspaper']].values
array([[ 230.1, 37.8, 69.2],
[ 44.5, 39.3, 45.1],
[ 17.2, 45.9, 69.3],
[ 151.5, 41.3, 58.5],
[ 180.8, 10.8, 58.4]])
无需致电np.array()
。属性values
已经是NumPy数组。
另请注意双方括号[['TV', 'Radio', 'Newspaper']].
您需要提供多个列名作为列表,而不是单个参数。
答案 1 :(得分:0)
我会使用as_matrix()方法:
DataFrame.as_matrix(列=无)
将帧转换为Numpy-array表示。