Python 如何将零向量前置到数据帧?
我有一个Python 如何将零向量前置到数据帧?,python,pandas,Python,Pandas,我有一个pandas变量X,它的形状(14931381) 这是14931个示例,每个示例都有381个特性。我想为每个示例添加483个特性(每个特性都有一个零)值,但我希望它们在381个现有特性之前 如何做到这一点?创建一个由零组成的数据帧并调用pd.concat v = pd.DataFrame(0, index=df.index, columns=range(483)) df = pd.concat([v, df], axis=1) 创建一个零数据帧并调用pd.concat v = pd.D
pandas
变量X
,它的形状(14931381)
这是14931个示例,每个示例都有381个特性。我想为每个示例添加483个特性(每个特性都有一个零)值,但我希望它们在381个现有特性之前
如何做到这一点?创建一个由零组成的数据帧并调用pd.concat
v = pd.DataFrame(0, index=df.index, columns=range(483))
df = pd.concat([v, df], axis=1)
创建一个零数据帧并调用pd.concat
v = pd.DataFrame(0, index=df.index, columns=range(483))
df = pd.concat([v, df], axis=1)
出于演示目的,让我们设置一个较小的数据帧
(7行2列,具有要素(列)名称f1
,f2
,…):
然后,让我们创建一个填充了零的数据帧,以便
在df前面加上前缀(3列而不是483列):
如你所见:
- 我将“新”列命名为
p1
,p2
等等
- 索引是df中索引的副本(这将很重要
在下一阶段)
最后一步是连接这两个数据帧并替换
df:
最后一步是将添加的列数更改为
正确的值。为了演示,让我们设置一个较小的数据帧
(7行2列,具有要素(列)名称f1
,f2
,…):
然后,让我们创建一个填充了零的数据帧,以便
在df前面加上前缀(3列而不是483列):
如你所见:
- 我将“新”列命名为
p1
,p2
等等
- 索引是df中索引的副本(这将很重要
在下一阶段)
最后一步是连接这两个数据帧并替换
df:
最后一步是将添加的列数更改为
正确的值。使用与原始数据帧相同的索引和14931行483个0
值构建一个新的数据帧。在原始数据帧之前使用axis=1
连接新数据帧,以进行列连接。将其分配给原始dataframe变量。使用与原始dataframe相同的索引和14931行的483个0
值构建一个新dataframe。在原始数据帧之前使用axis=1
连接新数据帧,以进行列连接。将其分配给原始数据帧变量。index=df.index
做什么?为了正确执行连接,两个数据帧都应该有“相应”的索引。因为我不确定df中索引的内容,所以我用相同的索引(从df复制)创建了zz。索引做什么?为了正确执行联接,两个数据帧都应该有“对应”的索引。因为我不确定df中索引的内容,所以我使用相同的索引(从df复制)创建了zz。
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)
df = zz.join(df)