zoukankan      html  css  js  c++  java
  • pandas中的rename_axis用法

    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)

  • 相关阅读:
    py-day2-4 python 集合
    LR_问题_控制器不能使用定义的负载生成器
    LR_问题_无法使用LR的Controller,提示缺少license
    LR_问题_在导入wsdl时出现parsing error
    class, extends和super es6语法
    格式化日期
    CLR
    【sqlserver】批量插入10万数据
    php正则表达式匹配函数
    css overflow
  • 原文地址:https://www.cnblogs.com/xiaodongsuibi/p/10870977.html
Copyright © 2011-2022 走看看