如何用Pandas提取DataFrame中姓名列的首个名字并生成列表
问题:提取DataFrame中姓名首部分并生成大写列表
给定如下格式的Pandas DataFrame:
id patient_full_name 7805 TOMAS FRANCONI 7810 Camila Gualtieri 7821 Lola Borrego 7823 XIMENA ALVAREZ LANUS 7824 MONICA VIVIANA RODRIGUEZ DE MARENGO
需要从patient_full_name列中截取第一个空格前的内容,转为大写后生成指定格式的列表:
patients_names = ["TOMAS","CAMILA","LOLA","XIMENA","MONICA",...."N-NAME"]
解决方案
使用Pandas的字符串处理方法可快速实现需求,完整代码如下:
import pandas as pd # 若已有现成DataFrame,可跳过此示例数据构造步骤 data = { 'id': [7805, 7810, 7821, 7823, 7824], 'patient_full_name': [ "TOMAS FRANCONI", "Camila Gualtieri", "Lola Borrego", "XIMENA ALVAREZ LANUS", "MONICA VIVIANA RODRIGUEZ DE MARENGO" ] } df = pd.DataFrame(data) # 核心处理逻辑 patients_names = df['patient_full_name'].str.split(' ', n=1).str[0].str.upper().tolist() # 输出结果 print(patients_names)
代码说明
str.split(' ', n=1):按单个空格拆分字符串,n=1限制仅拆分一次,避免姓名中间多空格导致的错误拆分str[0]:取拆分后的第一个元素(即姓名的首部分)str.upper():将提取的内容转为大写格式.tolist():将Pandas Series对象转换为Python列表
运行后得到的结果为:
["TOMAS", "CAMILA", "LOLA", "XIMENA", "MONICA"]
内容的提问来源于stack exchange,提问作者Salvador
相关产品推荐
相关产品推荐

