如何重命名Dask Dataframe的索引

时间:2017-06-02 21:51:08

标签: python pandas dask

如何在dask数据帧上重命名索引?我试过这样做

df.index.name = 'foo'

但是重新检查df.index.name表明它仍然是以前的状态。

3 个答案:

答案 0 :(得分:6)

这似乎不是一种有效的方法,所以如果有更直接的话,我也不会感到惊讶。

d.index.name以'foo'开头;

def f(df, name):
    df.index.name = name
    return df

d.map_partitions(f, 'pow')

输出现在的索引名称为“pow”。如果使用线程调度程序完成此操作,我认为您还可以就地更改d的索引名称(在这种情况下,您实际上不需要map_partitions的输出)。

答案 1 :(得分:3)

有点晚,但是具有以下功能:

    import dask.dataframe as dd
    import pandas as pd
    df = pd.DataFrame().assign(s=[1, 2], o=[3, 4], p=[5, 6]).set_index("si")
    ddf = dd.from_pandas(df, npartitions=2)
    ddf.index = ddf.index.rename("si2")

我希望这可以帮助其他人!

答案 2 :(得分:1)

你在做什么应该工作,再次检查:

    df = pd.DataFrame(np.random.rand(2,2))
    df
    Out[7]: 
              0         1
    0  0.016233  0.856702
    1  0.597350  0.710255

df.index.name = 'foo'
df
Out[10]: 
            0         1
foo                    
0    0.016233  0.856702
1    0.597350  0.710255

df.index
Out[11]: 
RangeIndex(start=0, stop=2, step=1, name='foo')



# even renaming after :
df.index.name ='foo2'
df
Out[14]: 
             0         1
foo2                    
0     0.016233  0.856702
1     0.597350  0.710255