从字典中重新编码Pandas索引对象(用于非有序替换)

时间:2014-07-22 01:25:04

标签: python pandas indexing

我正在编写一个从recode字典重新编码Pandas DataFrame索引对象的函数。

recodes = {'sales' : 'CurrentSales', 'cash' : 'US$' }
  1. 这有什么内置方法吗?
  2. 这样做的有效方法是什么?
  3. 使用示例:

    import pandas as pd
    import io
    
    text = '''\
    STK_ID RPT_Date sales cash
    000568 20120930 80.093 57.488
    000596 20120930 32.585 26.177
    000799 20120930 14.784 8.157
    '''
    
    df = pd.read_csv(io.BytesIO(text), delimiter = ' ', 
                     converters = {0:str})
    df.set_index(['STK_ID','RPT_Date'], inplace = True)
    

    enter image description here

    我实施的内容基本上是:

    nw_idx = ['']*len(df.columns)
    for key in recodes.keys():
        for idx, colname in enumerate(df.columns):
            if colname == key:
                nw_idx[idx] = recodes[key]
    
    df.columns = pd.Index(nw_idx)
    

    enter image description here

1 个答案:

答案 0 :(得分:3)

df.rename(columns={'sales' : 'CurrentSales', 'cash' : 'US$' })