我有一个数据框('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 或反过来。
最佳答案
您可以使用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
关于python - 将 dict 中的键添加到现有 Pandas 数据框中的列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51589556/