gpt4 book ai didi

python - Pandas :从字符串中去除数字和括号

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:00 27 4
gpt4 key购买 nike

我的 Pandas df:

df  = pd.DataFrame({'A':[1,2,3,4,5], 'B':['(AAAAA)2','(BCA)1','(CA)5','(DD)8','(ED)15']})
A B
0 1 (AAAAA)2
1 2 (BCA)1
2 3 (CA)5
3 4 (DD)8
4 5 (ED)15

我想去除 B 列中的括号和数字
预期输出是:

    A   B
0 1 AAAAA
1 2 BCA
2 3 CA
3 4 DD
4 5 ED

到目前为止,我已经尝试过了,

df['B'] = df['B'].str.extract('([ABCDE])')

但我只有:

    A   B
0 1 A
1 2 B
2 3 C
3 4 D
4 5 E

最佳答案

你可以这样做:

In [388]: df
Out[388]:
A B
0 1 (AAAAA)2
1 2 (BCA)1
2 3 (CA)5
3 4 (DD)8
4 5 (ED)15

In [389]: df.B = df.B.str.replace(r'[\(\)\d]+', '')

In [390]: df
Out[390]:
A B
0 1 AAAAA
1 2 BCA
2 3 CA
3 4 DD
4 5 ED

如果您仍想使用 .str.extract(),您可以这样做:

In [401]: df['B'].str.extract(r'.*?([A-Za-z]+).*?', expand=True)
Out[401]:
0
0 AAAAA
1 BCA
2 CA
3 DD
4 ED

关于python - Pandas :从字符串中去除数字和括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39583264/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com