@rustohero
костыль

Как привести DataFrame к словарю/dataframe нужного вида с помощью Pandas?

Есть select-запрос.
print("Connecting to database...") 
db = psycopg2.connect(host='localhost', user='postgres', password = 'password', database = 'DB') 
print("Connected!") 
print("Processing...") 
prefs = pd.read_sql("select distinct ord.user_id, line.variant_id, count(line.order_id) " + 
"from spree_line_items line " + 
"join spree_orders ord on(line.order_id=ord.id) " + 
"where ord.state='shipped' and ord.user_id is not null " + 
"group by line.variant_id, ord.user_id " + 
"order by ord.user_id;" 
, con=db)
prefs.columns=['user', 'var', 'mark']
print("Adding marks...") 
prefs.loc[prefs.mark>1, 'mark']=5
prefs.loc[prefs.mark==1, 'mark']=4

Оценки проставляются в случае, если пользователь заказывал вариант товара 1 или более раз оценки 4 и 5 соответственно.
При выводе получившегося dataframe получаю следующую картину:
16fc1b72eaa943d2bafc6d260034f9c0.PNG
Внимание, вопрос! Как из данного dataframe сделать словарь вида: df_dict={user1:{var_id1 : mark1, var_id2 : mark2...},..., usern: {var_id : mark,....}} либо организовать dataframe, где user это 1ая строка, а var столбец индексации, тогда mark ячейка матрицы user на var.
  • Вопрос задан
  • 1025 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы