首页 > 解决方案 > Pandas - 输出中不存在 KeyError 作为列

问题描述

我希望最终的 DataFrame 具有以下结构:

col_a, col_b, col_c, col_d, col_e

但是,根据从 API 中提取的数据,我看到下面的列有数据

col_a, col_c, col_d

这会在从 API 获得的数据中导致 Keyerrorcol_bcol_e不在。如果没有基于从 API 获得的数据可用的数据,有没有办法可以创建空列。

标签: pandaskeyerror

解决方案


由列表中所有预期的列名称使用DataFrame.reindex,如果添加了某些缺少的列,默认情况下由缺失值填充:

print (df)
   col_a  col_c  col_d
0      1      2      3

expected = ['col_a', 'col_b', 'col_c', 'col_d', 'col_e']
df = df.reindex(expected, axis=1)
print (df)
   col_a  col_b  col_c  col_d  col_e
0      1    NaN      2      3    NaN

推荐阅读