Добавление фиктивного столбца, если количество столбцов меньше количества строк

#python #pandas #dataframe

#питон #панды #фрейм данных

Вопрос:

У меня есть неквадратичная таблица, которая выглядит так:

 input:  A B C  0 4 2 5   1 2 6 8  2 8 3 4  3 4 2 5  4 3 6 7  5 7 3 8  

результат должен быть таким

 output:  A B C d1 d2 d3  0 4 2 5 0 0 0  1 2 6 8 0 0 0  2 8 3 4 0 0 0  3 4 2 5 0 0 0  4 3 6 7 0 0 0  5 7 3 8 0 0 0  

Поскольку количество столбцов равно 3, а строк-6, поэтому я хочу создать фиктивные столбцы столько же, сколько и количество строк. Поэтому в этом случае мне нужно еще 3 столбца со всеми значениями 0 в них. И я также хочу, чтобы имя столбца было «d1», «d2», «d3» и т. Д. Может ли кто-нибудь помочь мне в этом вопросе? Заранее спасибо!

Ответ №1:

Вы можете сделать reindex

 out = df.reindex(columns = df.columns.to_list() [*range(df.shape[0]-df.shape[1])],fill_value=0) Out[65]:   A B C 0 1 2 0 4 2 5 0 0 0 1 2 6 8 0 0 0 2 8 3 4 0 0 0 3 4 2 5 0 0 0 4 3 6 7 0 0 0 5 7 3 8 0 0 0  

Комментарии:

1. Спасибо Тебе! это работает