我想浏览数据框中的所有列,如果它们包含某些字符串,则重命名(或映射)列。
例如:使用字符串'agri'
重命名包含'agriculture'的所有列我正在考虑使用rename
和str.contains
,但无法弄清楚如何将它们组合起来以达到我想要的效果。
答案 0 :(得分:3)
您可以先使用str.replace
处理列,然后将新列重新分配回DataFrame:
import pandas as pd
df = pd.DataFrame({'A_agriculture': [1,2,3],
'B_agriculture': [11,22,33],
'C': [4,5,6]})
df.columns = df.columns.str.replace('agriculture', 'agri')
print df
输出:
A_agri B_agri C
0 1 11 4
1 2 22 5
2 3 33 6