【发布时间】:2020-11-17 14:40:31
【问题描述】:
我是 Python 新手,有点卡住了。我有一个期刊文章及其主题标题的数据框。标题是从 API 以字符串形式返回的,其中子标题会修改描述符。
例如,从 API 返回的主题词之一是: "心血管疾病/*药物治疗/流行病学"
它描述了一篇主要关于心血管疾病的药物治疗和心血管疾病的流行病学的文章。在这种情况下,我想在数据框中为每一个创建一个列。我希望该列包含初始术语 + 修饰符。有些文章只有 1 个术语而没有修饰语,有些文章有 1 个术语 + 很多子标题。
当前数据框:
+-----------------+------+------------ --------------------------------------------+ |文章标题 |身份证 |主题 | +-----------------+------+------------ --------------------------------------------+ |一篇文章 | 123 |心血管疾病/*药物治疗/流行病学 | |另一篇文章 | 324 |成人 | |还有一个 | 234 |英国/流行病学 | +-----------------+------+------------ --------------------------------------------+ 我想要的是: +-----------------+------+------------ ----------------------------------------+---------- -----------------+-------------------------------- ------+--------------+ |文章标题 |身份证 |主题 |修改器 1 |修改器 2 |修改器 3 | +-----------------+------+------------ ----------------------------------------+---------- -----------------+-------------------------------- ------+--------------+ |一篇文章 | 123 |心血管疾病/*药物治疗/流行病学 |心血管疾病/药物治疗 |心血管疾病/流行病学| | |另一篇文章 | 324 |成人 |成人 | | | |还有一个 | 234 |英国/流行病学 |英国/流行病学 | | | +-----------------+------+------------ ----------------------------------------+---------- -----------------+-------------------------------- ------+--------------+我最初的尝试只是旨在将初始标题与修饰符分开(如下)。我很难理解我的头不适用于多个副标题:
for term in df['subjects'] :
head, sep, tail = term.partition('/')
descriptor.append(head)
qualifier.append(tail)
【问题讨论】:
-
这能回答你的问题吗? How to split a string into a list?
-
您可以使用
.split(separator)方法。