Добавление ключей от dict к заголовкам столбцов в существующем фрейме данных Pandas

1

У меня есть dataframe ('DF1'), и у меня есть dict ('dictdf'). Я хочу добавить заголовки столбцов на основе dict, эти столбцы должны быть пустыми.

DF1:

ID  age

12   33
23   55
67   12

результат:

ID  age  height  eye_color  ....  

12   33    NA      NA       ....
23   55    NA      NA       ....
67   12    NA      NA       ....

Вот что я пробовал:

colNames = DF1.columns
for key in dictdf.keys():
    colNames.append(key)

newDF = pd.DataFrame(DF1,columns=colNames)

Ошибка:

TypeError: all inputs must be Index

Любая идея о простом решении? Я не хочу начинать трансформироваться из dict в DF или наоборот.

Теги:
pandas
dataframe
dictionary

2 ответа

1
Лучший ответ

Вы можете использовать pd.DataFrame.join с пустой фреймворком данных с определенными столбцами. В качестве одной операции это будет более эффективным, чем ручное добавление столбцов в цикле.

d = {'height': 120, 'eye_color': 'brown'}

df = df.join(pd.DataFrame(columns=d))

print(df)

   ID  age height eye_color
0  12   33    NaN       NaN
1  23   55    NaN       NaN
2  67   12    NaN       NaN
1

Используйте append для всех reindex с reindex:

d = {'height': 120, 'eye_color': 'brown'}

df = df.reindex(columns=df.columns.append(pd.Index(d)))
print (df)
   ID  age  height  eye_color
0  12   33     NaN        NaN
1  23   55     NaN        NaN
2  67   12     NaN        NaN

Ещё вопросы

Сообщество Overcoder
Наверх
Меню