你需要星号
*
最后为了匹配字符串0次或更多次,请参阅
文档
:
In [287]:
df = pd.DataFrame(columns=[‘agriculture’])
df
Out[287]:
Empty DataFrame
Columns: [agriculture]
Index: []
In [289]:
df.columns.str.replace(‘agriculture*’, ‘agri’)
Out[289]:
Index([‘agri’], dtype=’object’)
</code>
的
编辑
</强>
根据您的新要求和实际要求,您可以使用
str.contains
找到匹配,然后使用它来构建一个字典来映射旧的名称,然后调用
rename
:
In [307]:
matching_cols = df.columns[df.columns.str.contains(‘agriculture’)]
df.rename(columns = dict(zip(matching_cols, [‘agri’] * len(matching_cols))))
Out[307]:
Empty DataFrame
Columns: [agri, agri]
Index: []
</code>