我想遍历数据框中的所有列,并重命名(或映射)列(如果它们包含某些字符串)。
例如:将包含“agriculture”的所有列重命名为字符串“agri”
我正在考虑使用rename
and str.contains
但不知道如何将它们结合起来以实现我想要的。
您可以使用str.replace http://pandas.pydata.org/pandas-docs/version/0.15.2/generated/pandas.core.strings.StringMethods.replace.html首先处理列,然后将新列重新分配回 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
Output:
A_agri B_agri C
0 1 11 4
1 2 22 5
2 3 33 6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)