我有一个名为' training_set'的Pandas数据帧。类似于下面的屏幕截图:
我尝试打开标签'列到数组并转置它。我尝试了Y_train=np.asarray(training_set['label'])
,但我得到的是一个水平数组,类似于下面的屏幕截图,这不是我想要的。
我希望数组垂直显示,就像下面的屏幕截图一样(屏幕截图每行有2个变量。我想要的输出应该只包含1个变量,'标签',每行。)
非常感谢任何建议或帮助!
答案 0 :(得分:7)
使用DataFrame.to_numpy()
,这是提取numpy数组的新方法:
training_set[['label']].to_numpy()
旧答案
将您的列裁剪为单个圆柱DataFrame
(使用[[...]]
),而不是Series
:
Y_train = np.asarray(training_set[['label']])
或者,
Y_train = training_set[['label']].values
答案 1 :(得分:2)
另一种方法是重塑数组以塑造(-1,1)
,这意味着“推断行数,强制为1列”:
Y_train = np.array(training_set['label']).reshape(-1,1)
答案 2 :(得分:2)
一种方式:
Y_train = training_set['label'].values[:, None]