ram*_*esh 3 python regex dataframe pandas python-3.5
我的熊猫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
Run Code Online (Sandbox Code Playgroud)
我想删除父级和数字中的数字B
预期输出是:
A B
0 1 AAAAA
1 2 BCA
2 3 CA
3 4 DD
4 5 ED
Run Code Online (Sandbox Code Playgroud)
到目前为止我试过,
df['B'] = df['B'].str.extract('([ABCDE])')
Run Code Online (Sandbox Code Playgroud)
但我只得到:
A B
0 1 A
1 2 B
2 3 C
3 4 D
4 5 E
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
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
Run Code Online (Sandbox Code Playgroud)
如果您仍想使用.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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3495 次 |
| 最近记录: |