Отделение или извлечение текста из одного столбца и добавление его в другие столбцы в соответствии со значениями - PullRequest
0 голосов
/ 04 марта 2020

У меня есть набор данных, который удален из Интернета в следующем формате . Столбец технических характеристик содержит все характеристики, относящиеся к продукту, в следующем формате:

  • Категория спецификации в квадратных скобках
  • Спецификация
  • Значение спецификации
[CONNECTIVITY] Jack: 3.5 mm jack, 
[NOISE REDUCTION] Active noise-cancelling: No, 
[NOISE REDUCTION] Passive noise-isolating: Yes, 
[GENERAL] Weight: 13 g, 
[GENERAL] Manufacturer’s guarantee: 1 year, 
[GENERAL] Box contents: Bang & Olufsen H3 Headphones, 
[OVERVIEW] Colour: Black, 
[OVERVIEW] Type: In-ear, 
----has more feature as well---

и я хочу Переформатировать в этот формат данные таким образом, чтобы все доступные технические характеристики были указаны для каждого продукта.

Это я пробовал до сих пор

df2 = df['TECHNICAL_SPECIFICATIONS'].str.split(',', expand=True)
# Which gave me 40 new  columns 
df2 = df2[0].str.strip('[CONNECTIVITY]') 
df3 = df2[0].str.split(':', expand = True)
# Split my 1st column in another 2 columns, (reason: wanted to make the key-value pairs and save it as a dictionary then add it back)
df3_melt = pd.melt(df3, id_vars=0)
# did this because wanted to melt it so that it can give me one single column with values 

#df3["Active noise-cancelling"] = np.where(df2[2].str.contains("Active noise-cancelling: No")== True, "No" ,0)

Ни одна из pandas операций со строками не дает мне правильного вывода, нужно ли мне использовать регулярное выражение?

Ничего из этого не помогло я получаю желаемый результат. У кого-нибудь есть какой-нибудь ресурс / блогпост / учебник, чтобы решить эту или какую-то обходную проблему?

...