#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. Спасибо Тебе! это работает