#python #pandas
Вопрос:
Привет, ребята У меня есть этот код:
check_df = pd.DataFrame()
check_df['item'] = ''
check_df['simillar_items'] = ''
for item in sorted(df_clean.ProductName.unique()):
population = sorted(df_clean.ProductName.unique())
check_df['item'] = [item]
simillar = calculate_similarity(item,population,sensitivity = 85)
check_df['simillar_items'] = simillar
Я хочу получить кадр данных, который выглядит следующим образом:
item simillar_items
item a [Item C, Item B, Item G]
Когда я выполняю цикл, как показано выше, я получаю следующую ошибку:
Length of values (2) does not match length of index (1)
Есть идеи, почему?
Ответ №1:
Вы можете создать словарь, который представляет ваши данные, а затем преобразовать его в фрейм данных.
import pandas as pd
# Create an empty dictionary
data = {
'item': [],
'similar_items': []
}
# Add data to the dictionary
for item in sorted(df_clean.ProductName.unique()):
population = sorted(df_clean.ProductName.unique())
data['item'].append(item)
simillar = calculate_similarity(item,population,sensitivity = 85)
data['similar_items'].append(similar)
# Convert the dictionary into a DataFrame
df = pd.DataFrame(data)
Затем вы можете найти свои данные df
во фрейме данных.