如果包含字符串,pandas会重命名列

时间:2015-09-17 02:26:43

标签: python-2.7 pandas

我想浏览数据框中的所有列,如果它们包含某些字符串,则重命名(或映射)列。

例如:使用字符串'agri'

重命名包含'agriculture'的所有列

我正在考虑使用renamestr.contains,但无法弄清楚如何将它们组合起来以达到我想要的效果。

1 个答案:

答案 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