设置
让我们用一个更小的例子
i = [0, 1]
c = range(1, 5)
wordvecs_df = pd.concat([
pd.DataFrame(1, i, ['word', 'count']),
pd.DataFrame(1, i, c).add_prefix('norm'),
pd.DataFrame(1, i, c).add_prefix('v')
], axis=1)
wordvecs_df
word count norm1 norm2 norm3 norm4 v1 v2 v3 v4
0 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
解决方案
使用pd.DataFrame.filter 抓取所有看起来像'norm' 的东西
wordvecs_df.filter(regex='^norm\d\d?')
norm1 norm2 norm3 norm4
0 1 1 1 1
1 1 1 1 1
我们可以通过pd.DataFrame.join 或pd.concat 将其添加到我们的其他两列
wordvecs_df[['word', 'count']].join(
wordvecs_df.filter(regex='^norm\d\d?'))
word count norm1 norm2 norm3 norm4
0 1 1 1 1 1 1
1 1 1 1 1 1 1
或者
pd.concat([
wordvecs_df[['word', 'count']],
wordvecs_df.filter(regex='^norm\d\d?')
], axis=1)
word count norm1 norm2 norm3 norm4
0 1 1 1 1 1 1
1 1 1 1 1 1 1