从dict向现有Pandas数据框中的列标题添加键

时间:2018-07-30 08:08:01

标签: python pandas dictionary dataframe

我有一个数据帧('DF1'),我有一个字典('dictdf')。 我想根据字典添加列标题,这些列必须为空。

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或反之。

2 个答案:

答案 0 :(得分:1)

您可以将pd.DataFrame.join与带有已定义列的空数据框一起使用。作为一项操作,这将比在循环中手动添加列更为有效。

<label><fmt:formatNumber type = "number" 
                    pattern="0.00" value = "${home.price}</label>

答案 1 :(得分:1)

append用于所有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