1
0

More than 1 year has passed since last update.

pandasデータフレームの列にある例外表現を、正規表現で分割する

Last updated at Posted at 2022-11-17

image.png

このようなデータフレームの artist_namesの中にある文字列から、曲名とそれ以外に分割して、適切な列に格納したい。

# 例外の行を正規表現で分割しておく

#まず列の中のデータを正しい列にコピーして、元の列のデータを削除する。
df_tmp['song_title'] = df_tmp['artist_names']
df_tmp['artist_names'] = ""

# (English Translation) もしくはその類似表現で分割する
df_tmp2 = pd.concat([df_tmp['index'], df_tmp['page_views'], df_tmp['artist_names'], df_tmp['song_title'].str.split(r'\(.+?nglish Translation\)|\[.+?nglish Translation\]', 1, expand=True)], axis=1) #ハイフンの半角全角問題を正規表現で潰しておく

# 列名を付け直す
df_tmp2.rename(columns={1: 'by', 0: 'song_title'}, inplace=True)

# 本体データフレームと列の並びを同じにするために、新たな列を指定の位置に挿入する
df_tmp2.insert(loc = 4, column= 'English Translation', value= 'English Translation')

df_tmp2

image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0