2015-02-06 2 views
3

Я хочу создать dataframe в Python с 24 столбцами (указывающей, 24 часа), который выглядит следующим образом:как создать все нулевую dataframe в Python

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», как это сделать? Спасибо,

+0

Duplicate? http://stackoverflow.com/questions/22963263/creating-a-zero-filled-pandas-data-frame –

ответ

5

Вы можете создать пустой массив numpy, преобразовать его в dataframe и добавить имена заголовков.

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

установить имена строк использовать

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

, если необходимо.

+0

не должен a = numpy.zeros (форма (3,24))? –

+0

@ DiegoAgher хорошая точка (исправлено) Теория все еще сохраняется. – user2589273

7

Там трюк здесь: когда DataFrame (или серия) конструктор передается скаляр в качестве первого аргумента этого значения propogated:

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 на диапазон питона.

Смежные вопросы