2015-10-29 25 views
5

データフレーム列の文字列をコンマで区切って(リストになるように)、そのリストから特定の文字列を削除するコードを記述しようとしています。不要な文字列を削除した後、カンマでリスト要素に再び参加したい。私のデータフレームは、次のようになります。pandasデータフレームの列から文字列値を削除する方法

df: 

    Column1 Column2 
0  a  a,b,c 
1  y  b,n,m 
2  d  n,n,m 
3  d  b,b,x 

だから、基本的に私の目標は、私が得るようにCOLUMN2からすべてのbの値を削除することです:

DF:

Column1 Column2 
0  a  a,c 
1  y  n,m 
2  d  n,n,m 
3  d  x 

私が書いたコードです次のようになります。

最初の行は、列のすべての値をコンマで区切ったリストに分割します。今では関数を使ってすべてのリストを繰り返し処理し、存在しなければbを削除しようとしましたが、存在しなければそのままリストを返します。最後に 'liste'を出力すると、Column2の最初の行だけが返されますが、他の行は返されません。私は間違って何をしていますか?私のif条件をラムダ関数に実装する方法がありますか?

+0

が存在する場合b後に発見b,の任意の値を置き換える意味正規表現b,?を適用することができますどのように不要な文字列なしで列2を返す関数を適用することについてはどうですか?とにかく簡単に –

答えて

8

単にあなたが

df['Column2'] = df.Column2.str.replace('b,?' , '') 

Out[238]: 
Column1 Column2 
0 a a,c 
1 y n,m 
2 d n,n,m 
3 d x 
+0

。ありがとうございました! –

+0

これはどのように任意の文字列や文字を削除するに適用することができます私は不思議です –

関連する問題