如何按以大写字母结尾的特征值筛选Pandas DataFrame
解决Pandas筛选以大写字母结尾的行问题
首先构造你的示例DataFrame:
import pandas as pd data = { 'C1': ['Ford', 'ram', 'SUV', 'SEDAN'], 'C2': [11, 13, 19, 14] } df = pd.DataFrame(data)
你可以通过两种简洁的正则方法实现筛选:
方法1:使用str.endswith
直接利用字符串方法匹配结尾的大写字母,设置na=False避免空值引发的错误:
filtered_df = df[df['C1'].str.endswith(r'[A-Z]', na=False)]
方法2:使用str.contains
用$锚定字符串结尾,匹配末尾的大写字母:
filtered_df = df[df['C1'].str.contains(r'[A-Z]$', na=False)]
两种方法都会得到你想要的结果:
C1 C2 2 SUV 19 3 SEDAN 14
解释
[A-Z]:匹配任意单个大写英文字母$:正则中的锚点,代表字符串的结束位置na=False:如果C1列存在空值,会将其视为不匹配,避免抛出异常
内容的提问来源于stack exchange,提问作者Yash
相关产品推荐
相关产品推荐

