第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Pandas:從列表創(chuàng)建數(shù)據(jù)框,每個(gè)元素都有重復(fù)日期

Pandas:從列表創(chuàng)建數(shù)據(jù)框,每個(gè)元素都有重復(fù)日期

蠱毒傳說(shuō) 2023-07-27 10:07:16
我查看了谷歌和這里試圖找到答案,但似乎無(wú)法正確地表達(dá)它以獲得有關(guān)這個(gè)確切問(wèn)題的幫助。我想創(chuàng)建一個(gè)數(shù)據(jù)框,其中有一個(gè)名為“部門(mén)”的列,其中包含列表中的值,然后對(duì)于該列中的每個(gè)值,我想要相同的日期時(shí)間范圍。清單是:departments = ['Sales', 'Specialist', 'Purchase', 'HR']日期范圍是( df 是我與原始日期范圍不同的數(shù)據(jù)框。):pd.date_range(start=df.InvoiceDate.min(), end=df.InvoiceDate.max(), freq='1D')所以,我嘗試了這個(gè),但由于形狀的原因它給了我一個(gè)錯(cuò)誤,我明白只是不知道如何解決它。df2 = pd.DataFrame(department,(pd.date_range(start=df.InvoiceDate.min(), end=df.InvoiceDate.max(), freq='1D')), columns=['Department',"InvoiceDate"])期望的結(jié)果是這樣的:          Department    InvoiceDate    0        Sales      2019-03-25    1        Sales      2019-03-26    2        Sales      2019-03-27    ...    5     Specialist    2019-03-25    6     Specialist    2019-03-26    7     Specialist    2019-03-27    ...    8      Purchase     2019-03-25    9      Purchase     2019-03-26   10      Purchase     2019-03-27    ...   11         HR        2019-03-25   12         HR        2019-03-26   13         HR        2019-03-27
查看完整描述

2 回答

?
慕勒3428872

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})

查看完整回答
反對(duì) 回復(fù) 2023-07-27
?
catspeake

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)


查看完整回答
反對(duì) 回復(fù) 2023-07-27
  • 2 回答
  • 0 關(guān)注
  • 182 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)