如何在Python中创建所有零数据帧

lse*_*ohn 7 python dataframe pandas

我想在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
Run Code Online (Sandbox Code Playgroud)

我想知道如何初始化它?在将来,我可能会添加第4行,所有"0",如何做到这一点?谢谢,

And*_*den 12

这里有一个技巧:当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]
Run Code Online (Sandbox Code Playgroud)

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


use*_*273 11

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

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

设置行名称使用

 df.set_index(['row1', 'row2', etc..])
Run Code Online (Sandbox Code Playgroud)

如果你必须.