#pandas #dataframe
Вопрос:
позвольте мне прямо сказать о требовании
select components from food_factory;
это возвращает сахар, пшеницу, дрожжи, хлебобулочные изделия, пищевой цвет
for comp in components:
querystring='select id, case when attr_value!=0 then 1 else 0 end as {attr_val from product where attr_val={attr_val}'.format(attr_val=comp)
df=pd.read_sql_query(querystring, con=conn)
мой требуемый результат-это
что у меня есть
существует одна проблема с созданием фрейма данных в виде списка; поэтому я пишу каждый запрос отдельно, создаю фрейм данных и присоединяюсь
df3 = pd.concat([xx1, xx2,xx3,xx4,xx5],join='outer')
Проблема 1 — как создавать фреймы данных в виде списка и выполнять pd.concat.
вопрос 2 — как получить ожидаемый результат; значит, для 1010 сахара есть, затем установите значение; если есть тот же идентификатор 1010 дрожжей, то он должен быть в том же ряду.
Комментарии:
1.
df.set_index('id', inplace=True, drop=True) dflist.append(df) df3 = pd.concat(dflist, sort=False, axis=1)
df3 выдает мне необходимый вывод