2016-09-19 30 views
2

私のパンダのDF:私は列にB
の予想される出力をparenthsisと数字を除去したいパンダ:文字列からストリップ番号とかっこ

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 

は次のとおりです。

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 

答えて

6

あなたはそれをこのように行うことができます:あなたはまだあなたがそれをこの方法で行うことができます.str.extract()使用したい場合は

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 

を:

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 
+0

それは働きます!ありがとう:) – ramesh

+0

@ramesh、あなたは歓迎です:) – MaxU

関連する問題