如何提取dataframe指定列中首字母大写的单词并返回为列表
解法
核心思路是通过字符串首字母大写判断筛选目标行,再转列表,核心代码如下:
import pandas as pd # 已定义好df的情况下直接执行以下代码即可 result = df[df['day'].str[0].isupper()]['day'].tolist()
代码说明
df['day'].str[0].isupper()会逐行读取day列的字符串,取第一个字符判断是否为大写,返回一组布尔值- 用该布尔值筛选df,仅保留day列首字母为大写的行
- 最后提取筛选后的day列,调用
tolist()方法转为列表
针对你提供的样例数据,最终返回的结果为['Friday', 'Sunday'],符合需求。
鲁棒优化版本
如果你的day列可能存在空值、非字符串类型的数据,可以增加预处理步骤避免报错:
# 先过滤空值和非字符串类型的异常数据 valid_df = df[df['day'].notna() & df['day'].apply(lambda x: isinstance(x, str))] result = valid_df[valid_df['day'].str[0].isupper()]['day'].tolist()
内容的提问来源于stack exchange,提问作者giovanni
相关产品推荐
相关产品推荐

