首页 > 解决方案 > 将一列 numpy 数组添加到现有的 Pandas DataFrame

问题描述

我有一个 Pandas DataFrame,我想在其中添加一个新列,然后用 numpy 数组填充该列,这样该列中的每一行都包含一个 numpy 数组。我正在使用以下方法,并且想知道这是否是正确的方法。

df['embeddings'] = pd.Series(dtype='object')

然后我会遍历行并像这样添加计算数组(np.zeros(1024)仅用于说明,实际上这些是神经网络的输出):

for i in range(df.shape[0]):
   df['embeddings'].loc[i] = np.zeros(1024)

我测试了它是否有助于像这样预先分配单元格,但是当我遍历行时​​没有注意到执行时间的差异,至少对于只有 200 行的 DataFrame 没有:

df['embeddings'] = [np.zeros(1024)] * df.shape[0]

作为添加列然后更新其中行的替代方法,可以先创建 numpy 数组列表,然后将列表添加为新列,但这需要更多内存。

标签: pythonpandasnumpy

解决方案


推荐阅读