Фрейм данных, как показано ниже.
![enter image description here](https://i.stack.imgur.com/yvnNv.png)
Я хочу выяснить, когда объем продаж составил> 20 (в предыдущих 5 данных), сколькораз инвентарь был> 10.
Идеальный результат:
2018/12/26 has Sales 36 when 2 times.
2018/11/19 has Sales 34 when 2 times.
Вот что я делаю с xlrd:
import xlrd
from datetime import datetime
old_file = xlrd.open_workbook("C:\\Sales.xlsx")
the_sheet = old_file.sheet_by_name("Sales")
for row_index in range(1, the_sheet.nrows):
Dates = the_sheet.cell(row_index, 0).value
Inventory = the_sheet.cell(row_index, 1).value
Sales = the_sheet.cell(row_index, 2).value
list_of_Inventory = []
for i in range(1,5):
list_of_Inventory.append(the_sheet.cell(row_index - i, 1).value)
if Sales > 20:
print str(Dates) + " has Sales " + str(Sales) + " when " + str(sum(i > 10 for i in list_of_Inventory)) + " times."
Это не работает хорошо.
Каким был бы правильный способ решить это? Цените некоторые указания в пандах.
Спасибо.
ps вот данные.
data = {'Date': ["2018/12/29","2018/12/26","2018/12/24","2018/12/15","2018/12/11","2018/12/8","2018/11/28","2018/11/20","2018/11/19","2018/11/11","2018/11/6","2018/11/1","2018/10/28","2018/10/11","2018/9/25","2018/9/24"],
'Inventory': [5,5,5,22,5,25,5,15,15,5,5,15,0,22,2,10],
'Sales' : [0,36,18,0,0,17,18,17,34,16,0,0,18,18,51,18]}
df = pd.DataFrame(data)