将一列 numpy 数组添加到现有的 Pandas DataFrame

时间:2021-07-02 01:26:51

标签: python pandas numpy

我有一个 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 数组列表,然后将该列表添加为新列,但这需要更多内存。

0 个答案:

没有答案