【问题标题】:Fill a dataframe column with empty arrays用空数组填充数据框列
【发布时间】:2018-04-09 02:35:35
【问题描述】:

我需要用空的 numpy 数组填充 pandas 数据框列。我的意思是任何行都必须是一个空数组。像

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

但这不起作用,因为它试图使用数组的每个值并为每行分配一个值。

我试过了

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

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

【问题讨论】:

标签: python pandas numpy dataframe


【解决方案1】:

你也可以使用简单的理解

df = pd.DataFrame({'a':[0,1,2]})
df['c'] = [[] for i in range(len(df))]

输出

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

【讨论】:

    【解决方案2】:

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

    df = pd.DataFrame({'a':[0,1,2]})
    
    df['c'] = [np.empty(0,dtype=float)]*len(df)
    

    输出:

    一个 0 0 [] 1 1 [] 2 2 []

    【讨论】:

    • 是的!非常感谢
    • 很高兴为您提供帮助。如果有帮助,别忘了投票并接受答案。
    猜你喜欢
    • 2023-02-14
    • 2019-04-14
    • 1970-01-01
    • 2020-11-29
    • 2022-06-13
    • 2021-03-17
    • 1970-01-01
    • 2011-02-02
    • 2015-12-28
    相关资源
    最近更新 更多