如何重命名 Dask Dataframe 的索引

How to rename the index of a Dask Dataframe

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

df.index.name = 'foo'

但重新检查 df.index.name 显示它仍然是以前的样子。

您正在做的应该有效,请再次检查:

    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

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

d.index.name 开始为 'foo';

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

d.map_partitions(f, 'pow')

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

有点晚了,但是功能如下:

    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")

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