我有一个 pd.dataframedf = {'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() 但我无法解决问题。
1 回答
慕工程0101907
TA贡献1887条经验 获得超5个赞
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']))
添加回答
举报
0/150
提交
取消