

次のようなデータフレームdfで、

a  
１ abc def  
２ 123 567  
３ qqq eee

a列のデータに正規表現で取り出したデータを、あらたな列に加える

a b  
１ abc def def  
２ 123 567 567  
３ qqq eee eee

には、どうすればいいですか？

df['b']=正規表現関数(df['a']) でははねられました。


CC BY-SA 3.0
2017-07-09T10:21:07.423
36217
2018-06-15T12:24:54.563
24300
question
python pandas
列データから正規表現で取り出したデータを、新しい列に書き込むには？


Series a に対してstr.extractで値を切り出して、結果を新しい列bに代入しました。

[code]

    >>> df = pd.DataFrame([['abc def'],['123 567'], ['qqq eee']], columns=['a'])
    >>> df
             a
    0  abc def
    1  123 567
    2  qqq eee
    >>> df['a'].str.extract(r'(.{3})$', expand=True)
         0
    0  def
    1  567
    2  eee
    >>> df['b'] = df['a'].str.extract(r'(.{3})$', expand=False)
    >>> df
             a    b
    0  abc def  def
    1  123 567  567
    2  qqq eee  eee
    
[/code]


CC BY-SA 3.0
2017-07-09T12:38:48.420
36222
2017-07-09T12:38:48.420
806
36217
answer