首页 > 解决方案 > 如果满足条件熊猫数据框,则替换字符串

问题描述

我有以下代码,如果字符串或数字中有括号,我想替换国家名称,我们必须删除它,例如“玻利维亚(多民族)”应该是“玻利维亚”,“瑞士17”应该是“瑞士”。

import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
pd.set_option('display.max_columns',None)
pd.set_option('display.max_rows',None)

df=pd.read_excel('Energy Indicators.xls',skiprows=17, skipfooter=265-(227))
df.drop(df.columns[[0,1]], axis=1, inplace=True)
df.columns=['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable']

标签: pandasstringdataframerename

解决方案


尝试pd.DataFrame.str.replace

df=pd.DataFrame({'Country':['Bolivia (Plurinational State of)','Switzerland17'],'value':[1,2]})
df
#   Country                           value
#0  Bolivia (Plurinational State of)    1
#1  Switzerland17                       2

df.Country=df.Country.str.replace('\(.*\)|(\d+)','')
df
#   Country                           value
#0  Bolivia                             1
#1  Switzerland                         2

推荐阅读