Можно посчитать значения и сбросить, когда 0 (или меньше ожидаемого значения):
pivot_df = pd.pivot_table(df, values='B', index=['Date'], columns=['A'],
aggfunc=['sum','count'])
# build the mask from count
mask = (pivot_df.xs('count', axis=1) == 0) # or ...<min_limit
#build the actual pivot_df from sum
pivot_df = pivot_df.xs('sum', axis=1)
# and reset to NaN when not enough values
pivot_df[mask] = np.nan
Это дает, как и ожидалось:
A Y1 Y2
Date
1988-01-01 NaN NaN
1988-01-04 6.0 8.0
Это даст ощутимый результат, когда вы сложите более одного значения.