2015-10-29 98 views
1

我有一個數據透視表,它的日期範圍從01-01-2014到12-31-2015。我希望索引的範圍從2013年1月1日到2016年12月31日,不知道如何修改底層數據集,方法是在我的熊貓數據框中插入一行,並在我希望用作索引的列中顯示這些日期爲數據透視表。用0填充python數據透視表

有沒有辦法完成這個沒有修改底層數據集?

+0

您可以提供代碼如何生成數據透視表嗎? – Zero

回答

0

因爲沒有提供任何示例代碼或數據,所以我將在此處做一般。假設您的原始數據幀名爲df,並且列DateSales

我會嘗試創建一個包含從01-01-2014到12-31-2015的所有日期的列表。我們稱之爲dates。我還會創建一個名爲sales的空列表(即sales = [])。在此工作流程結束時,sales應包含來自dt['Sales']的數據以及不在數據框內的日期的佔位符。在你的情況下,這些佔位符將是0。在我的回答中,數據框中列的名稱是大寫的;列表名稱以小寫字母開頭。

接下來,我將遍歷dates並檢查每個日期是否在dt['Date']。通過列表dates的每次迭代將被稱爲date(即,date = dates[i])。

  • 如果datedt['Date'],我會在這個時間Sales數據追加到sales。您可以通過以下命令在數據幀中找到日期:df['Date']==date。因此,要將相應的Sales數據附加到列表中,我將使用此命令sales.append(df[df['Date']==date]['Sales']
  • 如果date不是在dt['Date'],我會一個佔位符追加到sales(即sales.append(0)

一旦你通過列表​​中的所有日期迭代,我會datessales創建最終的數據幀。該最終數據框應該包含原始數據和原始數據中未包含日期的佔位符。