我一直在尝试从 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/