如何拆分pandas DataFrame行列值提取PMCID、标题与摘要
解决方案
实现思路
- 拆分原DataFrame第一列的列名,按
|分割后提取PMCID值、标题文本 - 拆分原第一行第一列的单元格内容,按
|分割后提取摘要文本 - 直接构造符合要求的新DataFrame即可
完整代码
import pandas as pd import numpy as np # 原始输入数据 PMCID_Article = { '25763772|t|DCTN4 as a Modifier':["25763772|a|Pseudomonas aeruginosa (Pa)", None], 'Title' :[None,None], 'Abstract':[None,None], } df = pd.DataFrame(PMCID_Article) # 核心处理逻辑 # 拆分第一列列名获取PMCID、标题内容 col_parts = df.columns[0].split('|') pmcid = col_parts[0] title_content = col_parts[2] # 拆分第一行首单元格获取摘要内容 cell_parts = df.iloc[0,0].split('|') abstract_content = cell_parts[2] # 生成符合要求的新DataFrame result_df = pd.DataFrame({ 'PMCID': [pmcid, None], 'Title': [title_content, None], 'Abstract': [abstract_content, None] }) print(result_df)
输出结果
PMCID Title Abstract 0 25763772 DCTN4 as a Modifier Pseudomonas aeruginosa (Pa) 1 None None None
批量场景适配
如果实际业务中存在多列/多行同规则数据需要处理,可以把上述拆分逻辑封装为自定义函数,配合apply方法批量执行即可。
内容的提问来源于stack exchange,提问作者Sachin Sinkar
相关产品推荐
相关产品推荐

