У меня есть набор данных, который удален из Интернета в следующем формате . Столбец технических характеристик содержит все характеристики, относящиеся к продукту, в следующем формате:
- Категория спецификации в квадратных скобках
- Спецификация
- Значение спецификации
[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 операций со строками не дает мне правильного вывода, нужно ли мне использовать регулярное выражение?
Ничего из этого не помогло я получаю желаемый результат. У кого-нибудь есть какой-нибудь ресурс / блогпост / учебник, чтобы решить эту или какую-то обходную проблему?