Мне нужно создать таблицы поиска в Python из CSV. Я должен сделать это, однако, с помощью уникальных значений в моих столбцах. Пример прилагается. У меня есть name
столбец, который является названием модели. Для расширенной модели мне нужен словарь с заголовком из столбца variable
, ключом из столбца level
и значением из столбца value
. Я думаю, что лучше всего это словарь словарей. Я буду использовать эту справочную таблицу в будущем, чтобы умножить значения вместе на основе ключей.
Вот код для генерации образца набора данных:
Name = ['model1', 'model1', 'model1', 'model2', 'model2',
'model2','model1', 'model1', 'model1', 'model1', 'model2', 'model2',
'model2','model2']
Variable = ['channel_model','channel_model','channel_model','channel_model','channel_model','channel_model', 'driver_age', 'driver_age', 'driver_age', 'driver_age',
'driver_age', 'driver_age', 'driver_age', 'driver_age']
channel_Level = ['Dir', 'IA', 'EA','Dir', 'IA', 'EA', '21','22','23','24', '21','22','23','24']
Value = [1.11,1.18,1.002, 2.2, 2.5, 2.56, 1.1,1.2,1.3,1.4,2.1,2.2,2.3,2.4]
df= {'Name': Name, 'Variable': Variable, 'Level': channel_Level, 'Value':Value}
factor_table = pd.DataFrame(df)
Я прочитал следующее, но это не дало хороших результатов:
Python Создание словаря из данных Excel
Я также пробовал:
import pandas as pd
factor_table = pd.read_excel('...\\factor_table_example.xlsx')
#define function to be used multiple times
def factor_tables(file, model_column, variable_column, level_column, value_column):
for i in file[model_column]:
for row in file[variable_column]:
lookup = {}
lookup = dict(zip(file[level_column], file[value,column]))
Это приводит к ошибке:
`dict ожидал не более 1 аргумента, получил 2
В конечном итоге я хотел бы, чтобы:
{{'model2':{'channel':{'EA':1.002, 'IA': 1.18, 'DIR': 1.11}}}, {'model1'::{'channel':{'EA':1.86, 'IA': 1.66, 'DIR': 1.64}}}}