繁体   English   中英

将系列转换为二维数组

[英]Convert series to 2d array

嗨,我按照这篇文章将系列转换为二维数组,但它不起作用。

dataframe

d = {'col1': [1,1,1], 'col2': [2,2,2]}
df = pd.DataFrame(data=d)

我的代码

np.array(df['col1'].values.tolist())

它返回一个形状为(3,)的一维数组

array([1, 1, 1])

我正在寻找形状为(3,1)的数组

我应该在哪里修改我的代码? 谢谢

  • df['col1']是一个系列 object
  • df[['col1']]是单列 dataframe

使用.to_numpy()时,传递一系列 object 将返回一维数组。 但是,当传递 dataframe 时,它将返回一个 2D arrays,其中保留了列和行结构(在本例中为单列和 3 行)

尝试使用这个。 -

df[['col1']].to_numpy()
array([[1],
       [1],
       [1]])

#shape = (3,1)

请参阅文档

您可以使用 .to_numpy() 执行此操作,如下所示。 作为参考,您可以访问这里

import pandas as pd
import numpy as np

d = {'col1': [1,1,1,], 'col2': [2,2,2,]}
df = pd.DataFrame(data=d)

print(df.to_numpy())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM