从一些列标题中删除前x个字符

时间:2019-09-23 05:45:02

标签: python pandas dataframe nlp tf-idf

我创建了一个稀疏矩阵数据框,该框已将列表中的值设置为列标题。许多行包含标题,例如“ 000 bank”。我想删除“ 000”,所以它只是“银行”。

000 bank    000 claim   000 confirmed   000 debit   000 delete  000 frequent    000 hashed  ...  
0   0.000000    0.0 0.0 0.0 0.0 0.0 0.00000 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0  
1   0.052024    0.0 0.0 0.0 0.0 0.0 0.00000 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 kddi
2   0.000000    0.0 0.0 0.0 0.0 0.0 0.00000 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 e
3   0.000000    0.0 0.0 0.0 0.0 0.0 0.00000 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2

Index(['000', '000 000', '000 3rd', '000 bank', '000 claim', '000 confirmed',
 '000 debit', '000 delete', '000 frequent', '000 hashed',
   ...
   'years multiple', 'yet', 'yet confirm', 'yet evidence', 'yet expired',
   'yet many', 'yet published', 'zarefarid', 'zarefarid wrote', 'Keyword'],
  dtype='object', length=3831)

如何摆脱'000'。正如您在上面的索引中看到的那样,并非所有列标题都具有000。

1 个答案:

答案 0 :(得分:2)

Series.str.replace^一起使用以字符串开头:

df.columns = df.columns.str.replace('^000 ','')

示例

df = pd.DataFrame(columns=['000', '000 000', '000 3rd', '000 bank', 
                           '000 claim', '000 confirmed'])
print (df)
Empty DataFrame
Columns: [000, 000 000, 000 3rd, 000 bank, 000 claim, 000 confirmed]
Index: []

df.columns = df.columns.str.replace('^000 ','')
print (df)
Empty DataFrame
Columns: [000, 000, 3rd, bank, claim, confirmed]
Index: []