python - 如何从 Pandas 系列中仅提取大写子字符串?

标签 python pandas

我一直在尝试从 pandas 数据框中提取大写子字符串,但没有用。如何在 pandas 中只提取大写子字符串?

这是我的 MWE:

MWE

import numpy as np
import pandas as pd


df = pd.DataFrame({'col': ['cat', 'cat.COUNT(example)','cat.N_MOST_COMMON(example.ord)[2]']})
df['feat'] = df['col'].str.extract(r"[^A-Z]*([A-Z]*)[^A-Z]*")


print(df)

"""
                                 col feat
0                                cat  NaN
1                 cat.COUNT(example)    T
2  cat.N_MOST_COMMON(example.ord)[2]    N
""";

预期输出

                                 col feat
0                                cat  
1                 cat.COUNT(example)    COUNT
2  cat.N_MOST_COMMON(example.ord)[2]    N_MOST_COMMON

最佳答案

怎么样:

 df['feat'] = df.col.str.extract('([A-Z_]+)').fillna('')

输出:

                                 col           feat
0                                cat               
1                 cat.COUNT(example)          COUNT
2  cat.N_MOST_COMMON(example.ord)[2]  N_MOST_COMMON

关于python - 如何从 Pandas 系列中仅提取大写子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64452218/

相关文章:

python - 在所有 Pandas DataFrame 列中搜索字符串并过滤

python - 合并具有不同索引的数据帧

python - 我想使用 python27 读取 csv 文件,但出现类似“TypeError : 'encoding' is an invalid keyword argument for this function"”的错误

python - 比较两个图像/图片,并标记差异

python - 按列表顺序将两个数据框列与列表合并

python - 时间数据与格式不匹配...即使它匹配

python - 运行 INSERT ... ON DUPLICATE KEY UPDATE 时出错

python - 使用 ec2 python API boto,如何从 SpotInstanceRequest 获取 spot instance_id?

python - 使用 Pandas 将列添加到数据透视表

python - 在 Django 中实现每个模型的表修改时间?