我有一个pandas
变量X
,它的shape
为(14931, 381)
。
共有14,931个示例,每个示例具有381个功能。我想为每个示例添加483个特征(每个特征都为零)值,除了我希望它们位于现有381个特征之前
这怎么办?
答案 0 :(得分:3)
创建一个零的DataFrame并调用pd.concat
。
v = pd.DataFrame(0, index=df.index, columns=range(483))
df = pd.concat([v, df], axis=1)
答案 1 :(得分:1)
出于演示目的,我们设置一个较小的DataFrame
(7行2列,功能(列)名称为f1
,f2
,...):
df = pd.DataFrame(data={'f1': [ 1, 4, 6, 5, 7, 2, 3 ],
'f2': [ 4, 6, 5, 0, 2, 3, 2 ]})
然后,我们创建一个填充零的DataFrame 放在 df 之前(3列,而不是您的483列):
zz = pd.DataFrame(data=np.zeros((df.shape[0], 3), dtype=int),
columns=[ 'p' + str(n + 1) for n in range(3) ], index=df.index)
如您所见:
p1
,p2
,依此类推,最后一步是加入这两个DataFrame并替换为 df :
df = zz.join(df)
您的最后一步是将添加的列数更改为 适当的值。