Series.rename_axis(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False)
用index或者column來設置axis的名稱
具體看例子:
id_ohlc = 'AShareEODPrices' instrument = ['000002.SZ'] start_date = '2017-01-01' end_date = '2018-01-01' target_fields=['open', 'high', 'low', 'close', 'volume', 'amount', 'adjust_factor'] origin_fields=['s_dq_adjopen','s_dq_adjhigh','s_dq_adjlow','s_dq_adjclose','s_dq_volume','s_dq_admount','s_dq_adjfactor'] df = DataSource(id_ohlc).read(instrument, start_date=start_date, end_date=end_date, fields=origin_fields).set_index('date') df.rename_axis({x:y for x,y in zip(origin_fields,target_fields)},axis=1, inplace=True) # *** df.head(3)
沒有***句運行結果為:

有***句運行結果為:

可以看到,其實就是把column名換了下而已,python中的 zip() 函數用於將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。程序中此處相當於 x 和 y 互換,而 (x, y) 就是origin_fields和target_fields組成的元組,具體如下:
target_fields=['open', 'high', 'low', 'close', 'volume', 'amount', 'adjust_factor'] origin_fields=['s_dq_adjopen','s_dq_adjhigh','s_dq_adjlow','s_dq_adjclose','s_dq_volume','s_dq_admount','s_dq_adjfactor'] for x, y in zip(target_fields, origin_fields): print(x, y)

