использовать несколько регулярных выражений для одного столбца данных в pandas - PullRequest
0 голосов
/ 04 мая 2020

У меня есть столбец с названием ингредиенты, и в нем есть несколько элементов. Как мне разделить каждый из них на отдельный столбец?

Eg:    Type      Ingredients
       Hybrid    18.7% THC
                 1.62% Total Terpenes
                 0.61% Myrcene
       Indica    0.61% Myrcene
                 0.35% Ocimene
                 0.18% Limonene

Я хочу разделить столбец ингредиентов на несколько столбцов в виде TH C, Микрена, Очимена, Лимонена и др. c, где каждый столбец описывает его процент

1 Ответ

2 голосов
/ 04 мая 2020

Я думаю, вам нужно Series.str.split в процентах с \s+ для одного или нескольких пробелов, назначить новые столбцы и затем заполнить пропущенные значения для столбца type, последнее изменение - DataFrame.pivot:

df[['per','ingr']] = df['Ingredients'].str.split('%\s+', expand=True)
df['Type'] = df['Type'].replace('', np.nan).ffill()

df = df.pivot('Type','ingr','per').astype(float)
print (df)
ingr   Limonene Myrcene Ocimene   THC Total Terpenes
Type                                                
Hybrid      NaN    0.61     NaN  18.7           1.62
Indica     0.18    0.61    0.35   NaN            NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...