重命名 dask 数据框中的列

Mat*_*zar 7 python pandas dask

我有两个关于 dask 的问题。首先:dask 的文档明确指出您可以使用与 Pandas 相同的语法重命名列。我正在使用 dask 1.0.0。我在下面收到这些错误的任何原因?

df = pd.DataFrame(dictionary)
df
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

# I am not sure how to choose values for divisions, meta, and name. I am also pretty unsure about what these really do.
ddf = dd.DataFrame(dictionary, divisions=[8], meta=pd.DataFrame(dictionary), name='ddf')    
ddf
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

cols = {'Key':'key', '0':'Datetime','1':'col1','2':'col2','3':'col3','4':'col4','5':'col5'}

ddf.rename(columns=cols, inplace=True)

TypeError: rename() got an unexpected keyword argument 'inplace'
Run Code Online (Sandbox Code Playgroud)

好的,所以我删除了inplace=True并尝试了这个:

ddf = ddf.rename(columns=cols)

ValueError: dictionary update sequence element #0 has length 6; 2 is required
Run Code Online (Sandbox Code Playgroud)

pandas 数据框显示了一个真实的数据框,但是当我打电话时,ddf.compute()我得到了一个空的数据框。

在此处输入图片说明

My second question is that I am slightly confused about how to assign divisions, meta, and name. How is this useful/hurtful if I use dask to parallelize on a single machine vs a cluster?

Sam*_*ber 9

关于重命名,这就是我在使用 dask 时通常更改功能名称的方式,也许这也适用于您:

new_columns = ['key', 'Datetime', 'col1', 'col2', 'col3', 'col4', 'col5']
df = df.rename(columns=dict(zip(df.columns, new_columns)))
Run Code Online (Sandbox Code Playgroud)

至于确定分区的数量,文档给出了一个很好的例子,使用时间序列数据来决定如何划分数据帧:http : //docs.dask.org/en/latest/dataframe-design.html#partitions