我有許多資料框,其中一列(全部相同名稱)的索引是日期范圍 - 我想將這些資料框合并/組合成一個,對任何日期常見的值求和。下面是一個簡化的例子
range1 = pd.date_range('2021-10-01','2021-11-01')
range2 = pd.date_range('2021-11-01','2021-12-01')
df1 = pd.DataFrame(np.random.rand(len(range1),1), columns=['value'], index=range1)
df2 = pd.DataFrame(np.random.rand(len(range2),1), columns=['value'], index=range2)
此處 '2021-11-01' 以不同的值出現在 df1 和 df2 中
我想獲得 62 行 (32 31-1) 的單個資料幀,其中 2021-11-01 日期包含其在 df1 和 df2 中的值的總和
uj5u.com熱心網友回復:
我們可以pd.concate()在兩個資料幀上使用,然后df.reset_index()獲取新的常規整數索引,重命名日期列,然后使用df.groupby().sum().
df = pd.concat([df1,df2]) # this gives 63 rows by 1 column, where the column is the values and the dates are the index
df = df.reset_index() # moves the dates to a column, now called 'index', and makes a new integer index
df = df.rename(columns={'index':'Date'}) #renames the column
df.groupby('Date').sum()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/369024.html
