首页 > 解决方案 > 填充数据框的列

问题描述

我有2个这样的数据框,

df1

    0   1   2   3   4   5   category
0   1   2   3   4   5   6   foo
1   4   5   6   5   6   7   bar
2   7   8   9   5   6   7   foo1

df2

    0   1   2   category
0   1   2   3   bar
1   4   5   6   foo

df1 的(3,7)形状是 df2 的形状是(2,4)

我想将 df2 重塑为(2,7)(根据第一个数据帧 df1 列)保持最后一列相同。

df2 

    0   1   2  3  4  5  category
0   1   2   3  0  0  0  bar
1   4   5   6  0  0  0  foo

标签: pythonpandasdataframepadding

解决方案


如果要确保具有较少列的数据框将zero根据具有更多列的数据框填充列,那么您可以尝试两个数据框DataFrame.align的列,保持行不变:axis=1align

df1, df2 = df1.align(df2, axis=1, fill_value=0)

print(df2)

    0  1  2  3  4  5 category
 0  1  2  3  0  0  0      bar
 1  4  5  6  0  0  0      foo

推荐阅读