【问题标题】:how to create all zero dataframe in Python如何在 Python 中创建全零数据框
【发布时间】:2015-02-06 00:15:43
【问题描述】:

我想在 Python 中创建一个有 24 列(表示 24 小时)的数据框,如下所示:

column name     0   1   2   3 ...   24

row 1           0   0   0   0        0
row 2           0   0   0   0        0
row 3           0   0   0   0        0

我想知道如何初始化它?将来,我可能会添加第 4 行,全是“0”,该怎么做?谢谢,

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

这里有个技巧:当 DataFrame(或 Series)构造函数被传递一个标量作为第一个参数时,这个值被传播:

In [11]: pd.DataFrame(0, index=np.arange(1, 4), columns=np.arange(24))
Out[11]:
   0   1   2   3   4   5   6   7   8   9  ...  14  15  16  17  18  19  20  21  22  23
1   0   0   0   0   0   0   0   0   0   0 ...   0   0   0   0   0   0   0   0   0   0
2   0   0   0   0   0   0   0   0   0   0 ...   0   0   0   0   0   0   0   0   0   0
3   0   0   0   0   0   0   0   0   0   0 ...   0   0   0   0   0   0   0   0   0   0

[3 rows x 24 columns]

注意:np.arange 是 numpy 对 python 范围的回答。

【讨论】:

    【解决方案2】:

    您可以创建一个空的 numpy 数组,将其转换为数据框,然后添加标头名称。

     import numpy
     a = numpy.zeros(shape=(3,24))
     df = pd.DataFrame(a,columns=['col1','col2', etc..])
    

    设置行名使用

     df.set_index(['row1', 'row2', etc..])
    

    如果必须的话。

    【讨论】:

    • 不应该 a = numpy.zeros(shape(3,24)) 吗?
    • @DiegoAgher 好点(已更正)该理论仍然成立。
    猜你喜欢
    • 2018-05-31
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    相关资源
    最近更新 更多