救救孩子 | 为什么df[循环变量]=值,df里就只有一列,不随着循环增加

pro = ts.pro_api(tushare_token)
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
bank=data[data['industry']=='银行']
bank.reset_index(drop=True)
codes=banklist.ts_code.to_list()
for code in codes:
    df = pro.daily(ts_code=code, start_date='20170101', end_date='20210114')
    df['return']=df['close'].pct_change()
    #df['return'].fillna(df.mean())
    df1 = pd.DataFrame()
    df2 = pd.DataFrame()
    df1[code]=df['return']
print(df1)

 

out:

     603323.SH
0          NaN
1     0.006316
2    -0.018828
3     0.021322
4    -0.002088
..         ...
977   0.014765
978   0.013889
979   0.014351
980   0.001286
981   0.007065

df放到循环外面试试,否则每次都是生产新的df