如何从 Pandas 的索引中删除括号“( )”? [复制]

Posted

技术标签:

【中文标题】如何从 Pandas 的索引中删除括号“( )”? [复制]【英文标题】:how can I remove a parentheses "( )" from an Index with Pandas? [duplicate] 【发布时间】:2020-08-14 02:30:37 【问题描述】:

我有这样的输出:

Vanuatu                                22        10
Venezuela(Bolivarian Republic of)      32        10
Viet Nam                               44        05

我想要这样的东西:

Vanuatu                                22        10
Venezuela                              32        10
Viet Nam                               44        05

想象一下我的数据框太长了,比如 500 个索引。 如何将其从我的 DF 中的所有内容中删除?

【问题讨论】:

见How to remove parentheses and all data within using Pandas/Python? 【参考方案1】:

我想,这正是你要找的:

import re
df['column_name'] = df['column_name'].str.replace(r'\([^)]*\)', '')

【讨论】:

【参考方案2】:

数据

data = pd.DataFrame('Name':['Vanuatu', 'Venezuela(Bolivarian Republic of)','Viet Nam' ])

使用正则表达式调用和替换括号和括号本身之间的任何内容

df['Name']=df.Name.str.replace('\(+[A-Za-z|\s+\)]+','')
df

解释 \( - 特殊字符(

+ 匹配左边的任何东西

A-Za-z 匹配任何大小写字母

|

\s空格

+ 匹配左边的任何东西

\)特殊字符)

组合[A-Za-z|\s+\)]+ 匹配任何大小写或左边的空格

【讨论】:

以上是关于如何从 Pandas 的索引中删除括号“( )”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

使用 str.replace 从 pandas 中的字符串中删除括号

Pandas:为啥在布尔索引后需要双括号来选择列

如何从pyspark数据框列值中删除方括号

pandas数据分组

如何删除 Pandas 数据帧索引的“秒”?

pandas使用iloc函数基于dataframe数据列的索引抽取单列或者多列数据其中多列索引需要嵌入在列表方括号[]中或使用:符号形成起始和终止范围索引