Pandas用多个分隔符分割字符串的方法

时间:2018-01-16 04:57:14

标签: python python-3.x pandas dataframe

我正在使用数据框,我希望更改国家/地区列中的条目,例如:

'玻利维亚(多民族国)'应该是玻利维亚'

' Switzerland17'应该是'瑞士'

我定义了以下功能:

def process(w):
    for i in range(len(w)):
        if w[i] in ['(', ')', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '&', '/']:
            w = w[0:i]
            w = ''.join(w).replace(" ", "")
            break

    return w

然后我使用python apply 函数将其应用于数据框。

energy['Country'] = energy['Country'].apply(process)

虽然我已经能够达到所需的输出,但这并不完全正确。一些条目如

大不列颠及北爱尔兰联合王国美利坚合众国20 已更改为 UnitedKingdomofGreatBritainandNorthernIreland UnitedStatesofAmerica

我做错了什么?还有什么是更有效,更简洁的代码来实现结果?

1 个答案:

答案 0 :(得分:0)

我可能会遗漏一些东西,但看起来像是

replace(" ", "")

将删除空格,这正是UnitedStatesofAmerica所发生的事情