Если есть данные, связанные с номером заказа, как я могу получить некоторые, но не другие (не существует?)?

Я использую решение @EdChum, но я добавляю управление часовым поясом:

df['UNIXTIME']=pd.DatetimeIndex(pd.to_datetime(pd['UNIXTIME'], unit='ms'))\
                 .tz_localize('UTC' )\
                 .tz_convert('America/New_York')

tz_localize указывает, что временную метку следует рассматривать как относящуюся к «UTC», тогда tz_convert фактически перемещается дата / время до правильного часового пояса (в данном случае `America / New_York ').

Обратите внимание, что он был преобразован в DatetimeIndex, потому что методы tz_ работают только с индексом серии. Так как Pandas 0.15 можно использовать .dt:

df['UNIXTIME']=pd.to_datetime(pd['UNIXTIME'], unit='ms')\
                 .dt.tz_localize('UTC' )\
                 .dt.tz_convert('America/New_York')
0
задан Cole Eckelman 15 January 2019 в 18:45
поделиться

1 ответ

Я использую ваши две таблицы с примерами (таблица 1 = заказы, таблица 2 = товары). Вот как можно найти номера заказов, которые содержат элементы двора, но не содержат складские элементы:

select o.orderno
from orders o
join items i on i.itemno = o.itemno
group by o.orderno
having count(case when i.location = 'Yard' then 1 end) > 0
   and count(case when i.location = 'Warehouse' then 1 end) = 0;

Если вы хотите показать завершенные заказы, используйте вышеуказанный запрос в подзапросе, например:

[111 ]

Если вы хотите вместо этого агрегировать по заказу, вы можете соответствующим образом изменить запрос, например:

select
  o.orderno,
  count(*) as number_of_positions,
  sum(o.amount) as number_of_pieces,
  sum(o.amount * i.weight) as total_weight
from orders o
join items i on i.itemno = o.itemno
group by o.orderno
having count(case when i.location = 'Yard' then 1 end) > 0
   and count(case when i.location = 'Warehouse' then 1 end) = 0
order by o.orderno;

И если вы хотите агрегировать по элементу, вам может понадобиться подзапрос плюс отдельная агрегация.

0
ответ дан Thorsten Kettner 15 January 2019 в 18:45
поделиться
Другие вопросы по тегам:

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