2 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
為此,您可以使用以下代碼:
聲明部門(mén)列表并獲取范圍內(nèi)的日期列表(最小和最大)
departments = ['Sales', 'Specialist', 'Purchase', 'HR']
dates = pd.date_range(start=df.InvoiceDate.min(), end=df.InvoiceDate.max(), freq='1D').tolist()
你想要一個(gè)笛卡爾積,所以使用下面的函數(shù)
def cartesian_product(data):
? ? index = pd.MultiIndex.from_product(data.values(), names=data.keys())
? ? return pd.DataFrame(index=index).reset_index()
cartesian_product({'departments': departments,
? ? ? ? ? ? ? ? ? ?'date': a})

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
您以錯(cuò)誤的方式調(diào)用 pd.DataFrame() 。此外,作為數(shù)據(jù)提供的 2 個(gè)數(shù)組的大小也不同。要解決您可以執(zhí)行以下操作:
departments = ['Sales', 'Specialist', 'Purchase', 'HR']
sizeDates = len(dates)
sizeDep = len(departments)
departments = departments * sizeDates
dates = dates * sizeDep
dates = pd.date_range(start=df.InvoiceDate.min(), end=df.InvoiceDate.max(), freq='1D').tolist()
departments = departments * len(dates)
data = {'departments': departments,'date': dates}
df2 = pd.DataFrame(data)
添加回答
舉報(bào)