首页 > 解决方案 > 将字符串拆分为两个不同的列 pandas

问题描述

我有一个名为 df 的数据框。它有位置列,它是一个用逗号分隔的列表。

在此处输入图像描述

预期产出

我需要将最后两个字符串分成多列。

示例输入:

    ['122 Grenfell Street', 'Adelaide CBD', '5000 Adelaide', 'Australia']

示例输出:

    df['Country']: Australia
    
    
    df['City'] : 5000 Adelaide

我需要对所有行做同样的事情。

我试过下面的代码


df['Country'] = df['Loction'].str.split(',', expand = True)

上面的代码不起作用。我尝试了其他帖子但没有成功

标签: python-3.xpandas

解决方案


通过使用创建列表tolist()。使用创建数据框pd.DataFrame

说样本数据是:

df=pd.DataFrame({'text':[['122 Grenfell Street', 'Adelaide CBD', '5000 Adelaide', 'Australia']]})

将列表元素提取到列中:

df[['Street','Area','City','Country']] = pd.DataFrame(df.text.tolist(), index= df.index)

                                                text               Street  \
0  [122 Grenfell Street, Adelaide CBD, 5000 Adela...  122 Grenfell Street   

           Area           City    Country  
0  Adelaide CBD  5000 Adelaide  Australia  

推荐阅读