如何在 Python 中创建全零数据帧
how to create all zero dataframe in Python
我想在 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”,怎么做?谢谢,
您可以创建一个空的 numpy 数组,将其转换为数据框,然后添加 header 个名称。
import numpy
a = numpy.zeros(shape=(3,24))
df = pd.DataFrame(a,columns=['col1','col2', etc..])
设置行名使用
df.set_index(['row1', 'row2', etc..])
如果必须的话。
这里有一个技巧:当向 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 范围的回答。
我想在 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”,怎么做?谢谢,
您可以创建一个空的 numpy 数组,将其转换为数据框,然后添加 header 个名称。
import numpy
a = numpy.zeros(shape=(3,24))
df = pd.DataFrame(a,columns=['col1','col2', etc..])
设置行名使用
df.set_index(['row1', 'row2', etc..])
如果必须的话。
这里有一个技巧:当向 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 范围的回答。