delay_ssn = np.array([]) for i, ssn_val in enumerate(ssn): if i == len(dealy): break ssn_d = ssn[-len(dealy) + i + dealy[i]] delay_ssn = np.append(delay_ssn, ssn_d) dealy_pos = np.ones(25, dtype='int') * -5 dealy_neg = np.ones(25, dtype='int') * -12 ssn_1 = df_ssn.loc[:'1980-12', 'smooth'].values ssn_2 = df_ssn.loc[:'1990-12', 'smooth'].values ssn_3 = df_ssn.loc[:'2001-05', 'smooth'].values ssn_4 = df_ssn.loc[:'2013-06', 'smooth'].values ssn_sig_1 = FUNC.PtoN(ssn_1, dealy_pos, dealy_neg) ssn_sig_2 = FUNC.PtoN(ssn_2, dealy_neg, dealy_pos) ssn_sig_3 = FUNC.PtoN(ssn_3, dealy_pos, dealy_neg) ssn_sig_4 = FUNC.PtoN(ssn_4, dealy_neg, dealy_pos) range_info['ssn_delay'] = delay_ssn """ sigmod 平滑 """ range_info.loc['1978-12-01':'1980-12-01', 'ssn_delay'] = ssn_sig_1 range_info.loc['1988-12-01':'1990-12-01', 'ssn_delay'] = ssn_sig_2 range_info.loc['1999-05-01':'2001-05-01', 'ssn_delay'] = ssn_sig_3 range_info.loc['2011-06-01':'2013-06-01', 'ssn_delay'] = ssn_sig_4 # range_info.loc['1979-01-01':'1980-12-01', 'ssn_delay'] = \