添加不在数据框中但出现在另一个索引中的列

时间:2017-12-08 21:17:37

标签: python pandas

假设我有一个包含多个命名列的数据框

df = pd.DataFrame({'foo': [1, 2], 'bar': [3, 4]})

我也有一些名字索引:

all_columns = pd.Index(['foo', 'baz', 'bar', 'quux'])

我想要的是向df添加空列,其all_columns列名称尚未出现在df中。所以期望的输出是:

   bar  foo  baz  quux
0    3    1  NaN   NaN
1    4    2  NaN   NaN

我想用方法链式来保存原始数据帧,所以我正在寻找类似的东西:

df.some_magick_column_appender(all_columns)

1 个答案:

答案 0 :(得分:1)

使用reindex

df.reindex(columns=['foo', 'baz', 'bar', 'quux'])
Out[659]: 
   foo  baz  bar  quux
0    1  NaN    3   NaN
1    2  NaN    4   NaN