Я пытаюсь использовать возможности Pandas для добавления других фреймов данных вместе, но способы, которыми я пытаюсь это сделать, на самом деле не работают.Как правило, два кадра данных будут иметь несколько одинаковых строк (чьи значения должны быть добавлены) и несколько разных строк (и их следует объединить).Однако индекс может быть и другим.Как показано ниже:
# dataframe 1
pi = pd.PeriodIndex(start=2017, periods=10, freq='M')
a = pd.Series(np.full(shape=10, fill_value=2), pi)
b = pd.Series(np.full(shape=10, fill_value=3), pi)
df1= pd.DataFrame({'data_1': a, 'data_2': b})
# dataframe 2 to be added with longer index & additional data column
pi2 = pd.PeriodIndex(start=2016, periods=30, freq='M')
a = pd.Series(np.full(shape=30, fill_value=2), pi2)
b = pd.Series(np.full(shape=30, fill_value=3), pi2)
c = pd.Series(np.full(shape=30, fill_value=3), pi2)
df2= pd.DataFrame({'data_1': a, 'data_2': b, 'data_3': c})
new_df = df1 + df2
# returns a sum for all indices where there is a union, then nan
# for everything else --> need to preserve values at those other locations
# data_3 should return array/series full of 3s instead of nans
# new_df.iloc[0,0] should return 2 instead of nan
Я пробовал несколько вещей, но на самом деле не заставлял их работать, так как любой материал not_null или fill_na вызывается после генерации nans.