【问题标题】:How to turn a Pandas column into array and transpose it?如何将 Pandas 列转换为数组并转置?
【发布时间】:2018-03-28 23:09:01
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python arrays pandas numpy transpose


    【解决方案1】:

    熊猫 >= 0.24

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

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

    熊猫

    将您的列分割为单列DataFrame(使用[[...]]),而不是Series

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

    或者,

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

    【讨论】:

      【解决方案2】:

      另一种方法是将数组重新整形为(-1,1),这意味着“推断行数,强制为 1 列”:

      Y_train = np.array(training_set['label']).reshape(-1,1)
      

      【讨论】:

        【解决方案3】:

        一种方式:

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

        【讨论】:

          猜你喜欢
          • 2019-03-08
          • 2022-10-15
          • 2021-08-24
          • 2017-01-12
          • 2015-12-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-15
          相关资源
          最近更新 更多