我有一個數據透視表,它的日期範圍從01-01-2014到12-31-2015。我希望索引的範圍從2013年1月1日到2016年12月31日,不知道如何修改底層數據集,方法是在我的熊貓數據框中插入一行,並在我希望用作索引的列中顯示這些日期爲數據透視表。用0填充python數據透視表
有沒有辦法完成這個沒有修改底層數據集?
我有一個數據透視表,它的日期範圍從01-01-2014到12-31-2015。我希望索引的範圍從2013年1月1日到2016年12月31日,不知道如何修改底層數據集,方法是在我的熊貓數據框中插入一行,並在我希望用作索引的列中顯示這些日期爲數據透視表。用0填充python數據透視表
有沒有辦法完成這個沒有修改底層數據集?
因爲沒有提供任何示例代碼或數據,所以我將在此處做一般。假設您的原始數據幀名爲df
,並且列Date
和Sales
。
我會嘗試創建一個包含從01-01-2014到12-31-2015的所有日期的列表。我們稱之爲dates
。我還會創建一個名爲sales
的空列表(即sales = []
)。在此工作流程結束時,sales
應包含來自dt['Sales']
的數據以及不在數據框內的日期的佔位符。在你的情況下,這些佔位符將是0
。在我的回答中,數據框中列的名稱是大寫的;列表名稱以小寫字母開頭。
接下來,我將遍歷dates
並檢查每個日期是否在dt['Date']
。通過列表dates
的每次迭代將被稱爲date
(即,date = dates[i]
)。
date
是dt['Date']
,我會在這個時間Sales
數據追加到sales
。您可以通過以下命令在數據幀中找到日期:df['Date']==date
。因此,要將相應的Sales
數據附加到列表中,我將使用此命令sales.append(df[df['Date']==date]['Sales']
。date
不是在dt['Date']
,我會一個佔位符追加到sales
(即sales.append(0)
。一旦你通過列表中的所有日期迭代,我會dates
和sales
創建最終的數據幀。該最終數據框應該包含原始數據和原始數據中未包含日期的佔位符。
您可以提供代碼如何生成數據透視表嗎? – Zero