Python 将系列转换为二维阵列

Python 将系列转换为二维阵列,python,pandas,Python,Pandas,嗨,我想把一个系列转换成一个二维数组,但它不起作用 数据帧 d = {'col1': [1,1,1], 'col2': [2,2,2]} df = pd.DataFrame(data=d) 我的代码 np.array(df['col1'].values.tolist()) 它返回一个1d数组,其形状(3,) 数组([1,1,1]) 我正在寻找形状为(3,1) 我应该在哪里修改代码?谢谢您可以使用.to_numpy()执行以下操作。作为参考,您可以访问 您可以使用.to_numpy()执行以下操

嗨,我想把一个系列转换成一个二维数组,但它不起作用

数据帧

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

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

它返回一个1d数组,其形状
(3,)

数组([1,1,1])

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


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

您可以使用.to_numpy()执行以下操作。作为参考,您可以访问


您可以使用.to_numpy()执行以下操作。作为参考,您可以访问

  • df['col1']
    是一个系列对象
  • df[['col1']]
    是一个单列数据帧
使用
.to_numpy()
时,传递一个series对象将返回一个1D数组。但是,当传递数据帧时,它将返回保留列和行结构的2D数组(在本例中为单列和3行)

试着用这个-

df[['col1']].to_numpy()
请参阅。

  • df['col1']
    是一个系列对象
  • df[['col1']]
    是一个单列数据帧
使用
.to_numpy()
时,传递一个series对象将返回一个1D数组。但是,当传递数据帧时,它将返回保留列和行结构的2D数组(在本例中为单列和3行)

试着用这个-

df[['col1']].to_numpy()

请参阅。

df.to\u numpy()
?或者
df.T.to_numpy()
?您期望的输出是什么?@PabloC我希望输出数组具有形状(3,1),而不是传递一个序列传递一个数据帧,请检查我的答案。如果您重塑它呢<代码>df[“col1”]到numpy()。重塑((3,1))
df.到numpy()
?或者
df.T.to_numpy()
?您期望的输出是什么?@PabloC我希望输出数组具有形状(3,1),而不是传递一个序列传递一个数据帧,请检查我的答案。如果您重塑它呢
df[“col1”]。to_numpy()。重塑((3,1))
hi我想转换一个系列,df['col1']。to_numpt()仍然返回一个1d数组我想转换一个系列,df['col1']。to_numpt()仍然返回一个1d数组
array([[1],
       [1],
       [1]])

#shape = (3,1)