如何将 Pandas 列转换为数组并进行转置?

新手上路,请多包涵

我有一个名为“training_set”的 Pandas 数据框,类似于下面的屏幕截图:

在此处输入图像描述

我尝试将“标签”列转换为数组并将其转置。我尝试做 Y_train=np.asarray(training_set['label']) 但我得到的是一个类似于下面屏幕截图的水平数组,这不是我想要的。

在此处输入图像描述

我希望数组像下面的屏幕截图一样垂直显示(屏幕截图每行有 2 个变量。我想要的输出每行应该只包含 1 个变量,即“标签”。)

在此处输入图像描述

任何建议或帮助将不胜感激!

原文由 Stanleyrr 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 483
2 个回答

熊猫 >= 0.24

使用 DataFrame.to_numpy() ,提取 numpy 数组的新正确方法:

 training_set[['label']].to_numpy()


熊猫 < 0.24

将您的列切成单列 DataFrame (使用 [[...]] ),而不是 Series

 Y_train = np.asarray(training_set[['label']])

或者,

 Y_train = training_set[['label']].values

原文由 cs95 发布,翻译遵循 CC BY-SA 4.0 许可协议

单程:

 Y_train = training_set['label'].values[:, None]

原文由 jpp 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题