Python : 如何将带有分隔符的字符串的第一个子字符串提取到另一列中?

Python : how to extract the first substring of a string with separator into another column?

我有一个包含“CCR”列的数据框,其值如下: “Aaaa;Bbbb;Cccc”或“Bbbb;;Cccc”或“Cccc;Bbbb;Aaaa”。 我只想取第一部分(在“;”之前)并将其放入另一列“1st CCR”。我似乎无法使用拆分功能使其工作。使用我尝试过的这段代码,没有任何反应。 你能帮忙吗?

def get_1stCCR(row):
  for row in df['CCR']:
    df['1stCCR'] = row.split(";")[0]

df['CCR'].apply(get_1stCCR)

您可以使用 lambda 函数执行以下操作:

df['newCCR']=df['CCR'].apply(lambda x:x[0:x.index(';')])

如果某些行没有“;”在其中,您应该使用:

df['newCCR']=df['CCR'].apply(lambda x:x[0:x.index(';') if ';' in x else None])