使用空数组填充数据框列

3

我需要在pandas数据框的列中填充空的numpy数组。我的意思是任何一行都必须是一个空的数组。类似于:

df['ColumnName'] = np.empty(0,dtype=float)

但是这种方法不起作用,因为它尝试使用数组的每个值并将一个值分配给每一行。

然后我尝试了

for k in range(len(df)):
     df['ColumnName'].iloc[k] = np.empty(0,dtype=float)

但仍然没有运气。有什么建议吗?

1
现在,你说的empty是什么意思?你有没有读关于np.empty的文档? - Divakar
我的意思是,数据框的每一行都必须包含一个数组对象,未初始化且长度为零。 - Uge
1
在提问之前,请先进行简单的搜索。https://dev59.com/uVwZ5IYBdhLWcg3wbv3q - BENY
这一列的预期用途是什么?那种数组相当无用。 - hpaulj
2个回答

2

您可以将np.empty重复多次,然后将它们分配给列。由于它不是标量,因此不能像df['x'] = some_scalar那样直接赋值。

df = pd.DataFrame({'a':[0,1,2]})

df['c'] = [np.empty(0,dtype=float)]*len(df)

输出:

  a   c
0  0  []
1  1  []
2  2  []

是的!非常感谢 - Uge
很高兴能帮助你。如果我的回答对你有帮助,请不要忘记投票并接受答案。 - Bharath M Shetty

1
您可以使用简单的理解。
df = pd.DataFrame({'a':[0,1,2]})
df['c'] = [[] for i in range(len(df))]

输出

   a   c
0  0  []
1  1  []
2  2  []

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接