dataframe - извлечение URL в pandas и создание из него новых столбцов - PullRequest
1 голос
/ 20 сентября 2019

«У меня есть фрейм данных под названием products, а в одном столбце есть URL, который я пытаюсь разбить.

  ID         URL
  101015    https://defrost/kskswn_sourcefsr_3rt=forst23=rt5s_campaign10=new_york65007
  "

Я пытаюсь понять, возможно ли разделить URL на несколько частей.чтобы понять, где люди нажимают на ссылку и какую кампанию они нажимают

The goal is to have anything between the equal sign '=' in its own columns

I try this code and a bunch of others 

 def parse_url(files_1):
   for index, row in files_1.iterrows():
     parsed = urlparse(str(row)).query
     parsed = parse_qs(parsed)
     for k, v in parsed.items():

        df.loc[index, k.strip()] = v[0].strip().lower()
  return files_1

 parse_url(files_2['CLICK_URL'])

The goal is to have something like this:
ID       COL1                                            COL2              COL3

101015   https://defrost/kskswn_sourcefsr_campaign_3rt  rt5s_campaign10  new_york65007

1 Ответ

1 голос
/ 21 сентября 2019

Я не на 100% выполняю ваш код, но IIUC, вы можете передать свой столбец URL в список списков и перебрать его, чтобы присвоить столбцам:

data = df['URL'].str.split('=').tolist() # pass urls to list with split method.

Итерировать понаш список с перечислением,

for list_ in data: # access indvidual list (rows) 
    for number,item in enumerate(list_,start=1): 
        df[f'COL {number}'] = item # assign to columns

Результат.

print(df)
    ID  URL COL 1   COL 2   COL 3   COL 4
0   101015  https://defrost/kskswn_sourcefsr_3rt=forst23=r...   https://defrost/kskswn_sourcefsr_3rt    forst23 rt5s_campaign10 new_york65007
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...