在pandas中拆分字符串并将其连接到旧数据

Jst*_*uff 6 python pandas

我在做什么似乎很简单,但我无法弄清楚.

我有数据框,其中包含数据

City    State ZIP
Ames    IA    50011-3617
Ankeny  IA    50021
Run Code Online (Sandbox Code Playgroud)

我想拆分zipcodes -并只保存新数据帧中的第一个,其中包含旧数据和新邮政编码.我试着做以下事情.

data_short_zip = data
df = data['ZIP'].str.split('-').str[0]
data_short_zip.join(df)
Run Code Online (Sandbox Code Playgroud)

这不仅会引发错误,而且似乎是单声道的.有一个简单的方法吗?

输出数据看起来像

City    State ZIP
Ames    IA    50011
Ankeny  IA    50021
Run Code Online (Sandbox Code Playgroud)

EdC*_*ica 7

您可以使用str.split在分隔符str[0]上拆分,然后在结果上拆分以返回第一个拆分:

In [122]:
df['ZIP'] = df['ZIP'].str.split('-').str[0]
df

Out[122]:
     City State    ZIP
0    Ames    IA  50011
1  Ankeny    IA  50021
Run Code Online (Sandbox Code Playgroud)