2017-07-15 89 views
1

我有以下數據框:熊貓的合併返回空的,不明白爲什麼

enter image description here

我然後再由列「直徑」總結了值「惠普,使用獲得以下數據集以下大成:

df_Sum=df.groupby(df.Dia.dt.date)['Hp'].sum() 

,並獲得以下時間序列(後來我需要轉換to_frame()合併):

enter image description here

我想要做的是,每天彙總值,被複制到日常原來的數據框匹配(在那裏,日期「直徑」可以重來,先看看圖片)。

什麼我想這一天結束

所以是第一數據幀的每個不同的字段類型日期「直徑」有其自身的價值總結,所以我選擇了跟隨合併大成:

pd.merge(left=df,right=df_Sum.to_frame(),right_index=True,left_on='Dia') 

但它是空的!

出了什麼問題?有沒有更好的方法?

謝謝!

回答

1

我想你需要GroupBy.transform

df['sum'] = df.groupby(df.Dia.dt.date)['Hp'].transform('sum') 

你得到empty DF,因爲不匹配,因爲不同類型的日期合併 - 一個是python dates和第二pandas datetime秒。

+0

工作的第一件事!非常感謝你。 –

+1

很高興可以幫助,美好的一天! – jezrael