熊猫导出一个向量并将其形状更改为一维数组

我有一个 pd.dataframe

df = {'col1': [1, 2], 'col2': [3, 4]}

我可以通过这样做创建 col2 的 ndarray:

col2 = np.array(df['col2'].values)

我想添加一个数字作为这个向量的第一个元素,我试过这个:

col2=np.array([0])
col2=col2.append( np.array(df['col2'].values))

但它给出了错误。

我也尝试过 concatenate 和 (df['col2'].values).tolist() 但我无法解决问题。


阿波罗的战车
浏览 174回答 1
1回答

慕工程0101907

np.append对于串联任务效率低下。您可以使用np.hstack或np.concatenate代替。另请注意,pd.Series.values返回一个 NumPy 数组,因此无需通过np.array以下方式显式转换:df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})col2 = np.array([0])col2 = np.hstack((col2, df['col2'].values))# array([0, 3, 4], dtype=int64)正如@user3483203 评论的那样,NumPy 数组不是必需的,尽管您会看到速度略有提高。您可以使用list和pd.Series对象np.hstack:col2 = np.hstack(([0], df['col2']))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python