我需要在pandas数据框的列中填充空的numpy数组。我的意思是任何一行都必须是一个空的数组。类似于:
df['ColumnName'] = np.empty(0,dtype=float)
但是这种方法不起作用,因为它尝试使用数组的每个值并将一个值分配给每一行。
然后我尝试了
for k in range(len(df)):
df['ColumnName'].iloc[k] = np.empty(0,dtype=float)
但仍然没有运气。有什么建议吗?
您可以将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 []
df = pd.DataFrame({'a':[0,1,2]})
df['c'] = [[] for i in range(len(df))]
输出
a c
0 0 []
1 1 []
2 2 []
empty
是什么意思?你有没有读关于np.empty
的文档? - Divakar