У меня есть столбец DataFrame с одной длинной строкой, которую я хотел бы проанализировать. Я новичок в регулярных выражениях и еще не работал с ним. То, что я имею ниже, возвращает только имя ... в лучшем случае. Мне интересно, проще ли анализировать эту строку для регулярных выражений или создать словарь для повторения. Вот что я имею на данный момент. Порядок не всегда одинаков (C, W, D, G, UTIL), и я буду писать для l oop, чтобы перебрать несколько строк, как этот.
import pandas as pd
import numpy as np
import re
df = pd.DataFrame(data=np.array([['C Mark Scheifele C Pierre-Luc Dubois UTIL Zach Parise W Mats Zuccarello W Oliver Bjorkstrand W Nick Foligno D Ryan Suter D Seth Jones G Devan Dubnyk'],['UTIL Kyle Connor C Pierre-Luc Dubois C Boone Jenner W Mats Zuccarello W Oliver Bjorkstrand W Nick Foligno D Ryan Suter D Seth Jones G Devan Dubnyk']]), columns=['Lineup'])
df['C1'] = re.findall(r" C \w+",str(df['Lineup']))
df['C2'] = re.findall(r'C \w+',str(df['Lineup']))
df['W1'] = re.findall(r'W \w+',str(df['Lineup']))
df['W2'] = re.findall(r'W \w+',str(df['Lineup']))
df['W3'] = re.findall(r'W \w+',str(df['Lineup']))
df['D1'] = re.findall(r'D \w+',str(df['Lineup']))
df['D1'] = re.findall(r'D \w+',str(df['Lineup']))
df['G']= re.findall(r'G \w+',str(df['Lineup']))
df['UTIL'] = re.findall(r'UTIL \w+',str(df['Lineup']))
Я ищу сохранение этих значений в DF.
df['C1'] = Mark Scheifele
df['C2'] = Pierre-Luc Dubois
df['W1'] = Mats Zuccarello
df['W2'] = Oliver Bjorkstrand
df['W3'] = Nick Foligno
df['D1'] = Ryan Suter
df['D2'] = Seth Jones
df['G']= Devan Dubnyk
df['UTIL'] = Zach Parise
РЕЗУЛЬТАТ ДАННЫХ КАДРОВ df_result = pd.DataFrame(data=np.array([['Mark Scheifele','Pierre-Luc Dubois','Mats Zuccarello','Oliver Bjorkstrand','Nick Foligno','Ryan Suter','Seth Jones','Devan Dubnyk','Zach Parise'],['Boone Jenner','Pierre-Luc Dubois','Mats Zuccarello','Oliver Bjorkstrand','Nick Foligno','Ryan Suter','Seth Jones','Devan Dubnyk','Kyle Connor']]), columns=['C1','C2','W1','W2','W3','D1','D2','G','UTIL'])