从熊猫的正则表达式结果中删除括号

时间:2019-01-26 02:48:39

标签: regex python-3.x pandas

我在熊猫中有一栏看起来像这样:

>>> df['Name'][0]
'BTC  Bitcoin'

我想使用正则表达式创建一列,该列搜索3-5个大写字母,后跟两个空格。然后,我使用.split()将符号留给我们。这是我使用的正则表达式公式:

symbols = []

for i in df['Name']:
    symbols.append(re.search(r"[A-Z]{3,5}\s\s", i).group().split())

df['Symbol'] = symbols

这是我的结果:

>>> df['Symbol'][0]
['BTC']

如何获得相同的结果但没有括号?

1 个答案:

答案 0 :(得分:0)

之所以得到['BTC']是因为表达式re.search(r"[A-Z]{3,5}\s\s", i).group().split()产生了一个list对象,例如,您是['BTC'],然后将其附加到您在for循环之外定义的空列表symbols

因此,您的symbols列表包含类似[['BTC'], ['ETH'], ['BLA']]的内容。

如果要避免这种情况,只需将表达式更改为

symbols.append(re.search(r"[A-Z]{3,5}\s\s", i).group().split()[0])
相关问题