创建具有动态名称的变量通常是一个坏习惯。
我认为针对您的问题的最佳解决方案是将数据帧存储到字典中,并动态生成用于访问每个数据帧的密钥名称。
import copydict_of_df = {}for ym in [201511, 201612, 201710]: key_name = 'df_new_'+str(ym) dict_of_df[key_name] = copy.deepcopy(df) to_change = df['YearMonth']< ym dict_of_df[key_name].loc[to_change, 'new_col'] = ymdict_of_df.keys()Out[36]: ['df_new_201710', 'df_new_201612', 'df_new_201511']dict_of_dfOut[37]: {'df_new_201511': A B ID t YearMonth new_col 0 -a a 1 2016-12-05 07:53:35.943 201612 201612 1 1 NaN 2 2016-12-05 07:53:35.943 201612 201612 2 a c 2 2016-12-05 07:53:35.943 201612 201612, 'df_new_201612': A B ID t YearMonth new_col 0 -a a 1 2016-12-05 07:53:35.943 201612 201612 1 1 NaN 2 2016-12-05 07:53:35.943 201612 201612 2 a c 2 2016-12-05 07:53:35.943 201612 201612, 'df_new_201710': A B ID t YearMonth new_col 0 -a a 1 2016-12-05 07:53:35.943 201612 201710 1 1 NaN 2 2016-12-05 07:53:35.943 201612 201710 2 a c 2 2016-12-05 07:53:35.943 201612 201710} # Extract a single dataframe df_2015 = dict_of_df['df_new_201511']


