从几列中删除前 x 个字符 headers

Remove first x characters from a few column headers

我创建了一个稀疏矩阵数据框,它采用列表中的值并将它们设置为列 headers。许多行包含 headers,例如“000 银行”。我想删除“000”,例如 'bank'。

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'。正如您在上面的索引中看到的那样,并非所有列 headers 都包含 000。

使用 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: []