首页 > 解决方案 > 如何拆分文本列并将它们组合成 Pandas DataFrame 中的新列

问题描述

我有一个df:

             FROM              TO
0  LA:Los_Angeles     NY:New_York
1     NY:New_York  LA:Los_Angeles

我想将部分文本组合成一个新列,如下所示:

             FROM              TO  MERGED
0  LA:Los_Angeles     NY:New_York  LA->NY
1     NY:New_York  LA:Los_Angeles  NY->LA

到目前为止,我的代码是:

df = pd.DataFrame({'FROM':['LA:Los_Angeles', 'NY:New_York'], 'TO':['NY:New_York', 'LA:Los_Angeles']})
print(df)
df['MERGED'] = str(df['FROM']).split(':')[0] + '->' + str(df['TO']).split(':')[0]
print(df)

这回馈:

             FROM              TO               MERGED
0  LA:Los_Angeles     NY:New_York  0    LA->0       NY
1     NY:New_York  LA:Los_Angeles  0    LA->0       NY

它似乎只是抓住第一行并执行操作。它似乎也以某种方式在字符串中包含了索引,“0”领导了城市。不太确定我哪里出错了。

标签: pythonpandasstringsplit

解决方案


尝试这个

df['MERGED'] = df['FROM'].str.split(':').str.get(0) + '->' +df['TO'].str.split(':').str.get(0)

    FROM            TO              MERGED
0   LA:Los_Angeles  NY:New_York     LA->NY
1   NY:New_York     LA:Los_Angeles  NY->LA

推荐阅读