python - 在python中删除分隔符(括号)后的文本
问题描述
我正在尝试删除“(”分隔符之后的文本,首先我想计算至少有一个“(”的行,然后删除此分隔符之后的文本,包括分隔符。
包含文本的列是“国家”,如下所示:
Micronesia (Federated States of)
我希望这样的结果:
Micronesia
这就是我试图计算行数
energy['Country'].value_counts()[['(']].sum
它返回了这个错误:
"None of [Index(['('], dtype='object')] are in the [index]"
为了在分隔符后删除 xt 我试过这个:
energy['Country'] = energy['Country'].split("(", 1)
它返回了这个错误:
AttributeError: 'Series' object has no attribute 'split'
我怎么能解决这个问题?
解决方案
您可以应用str.split
到列,然后使用第一个元素.str[0]
并删除前导/尾随空格str.strip
:
df = pd.DataFrame({'country': ['Micronesia (Federated States of)']})
df['country'] = df['country'].str.split('(').str[0].str.strip()
df
输出:
country
0 Micronesia
还有另一个(不那么冗长)选项str.extract
:
df['country'] = df['country'].str.extract('(.*)\s*\(')
推荐阅读
- python - 文件中列表python中元素的频率
- xml - 文本视图的问题
- python - 如何在 python k8s 客户端中以 root 身份运行“connect_get_namespaced_pod_exec”
- c# - Swashbuckle.AspNetCore.SwaggerGen v5 不发送标头
- r - R语言函数工厂:如何保证安全?
- javascript - 创建 BulkDelete 命令 | 不和谐.JS
- shell - 通过 jumphost 的 SSH socks 代理
- django - django rest框架不显示响应数据
- mysql - 如何将其转换为 DATETIME SQL?
- python - 没有收到回波警告导致我的 HR-SC04 超声波模块(距离传感器)导致输出错误