pyspark.pandas.DataFrame.to_dict

DataFrame。 to_dict ( 東方:str = '東西',成:Type = <類的dict > )→聯盟(列表,collections.abc.Mapping]

DataFrame轉換為一本字典。

鍵-值對的類型可以定製的參數(見下文)。

請注意

這種方法應該隻用於如果結果熊貓DataFrame預計將小,因為所有數據加載到司機的記憶。

參數
東方 str{“東西”,“列表”,“係列”,“分裂”,“記錄”、“指數”}

決定了字典的值的類型。

  • “東西”(默認):dict喜歡{列- >{索引- >值}}

  • “列表”:dict像{列- >(值)}

  • “係列”:dict像{列- >係列(值)}

  • “分裂”:dict像{“指數”——>(指數),“列”- >(列),“數據”- >(值)}

  • “記錄”:列表像[{列- >值},…,{列- >值}]

  • “指數”:dict像{指數- >{列- >值}}

縮寫是允許的。年代表明係列sp表明分裂

類,默認的東西

collections.abc。映射用於所有子類映射的返回值。可以是實際的類或一個空的實例映射類型你想要的。如果你想要一個collections.defaultdict,你必須通過它初始化。

返回
列表或collections.abc.Mapping dict類型

返回一個collections.abc。代表DataFrame映射對象。由此產生的轉換依賴於東方參數。

例子

> > >df=psDataFrame({“col1”:(1,2),“col2”:(0.5,0.75)},指數=(的第一行,“row2”),=(“col1”,“col2”])> > >dfcol1 col2第一行1 0.50row2 2 0.75
> > >df_dict=dfto_dict()> > >排序(((關鍵,排序(項目()))關鍵,df_dict項目()))[(“col1”,[(第一行,1),(' row2 ', 2)]), (“col2”,[(第一行,0.5),(0.75 row2,))))

您可以指定返回取向。

> > >df_dict=dfto_dict(“係列”)> > >排序(df_dict項目())[(col1,第一行1row2 2名稱:col1 dtype: int64), 0.50 (“col2”,第一行row2 0.75名稱:col2, dtype float64)):
> > >df_dict=dfto_dict(“分裂”)> > >排序(df_dict項目())[(“列”,[' col1 ', ' col2 ']),(“數據”,[[1…,0.75]]),(“指數”,(“第一行”、“row2”)))
> > >df_dict=dfto_dict(“記錄”)> > >(排序(項目())df_dict][[(col1, 1…), (“col2”, 0.5)], [(col1, 2…), (“col2”, 0.75)]]
> > >df_dict=dfto_dict(“指數”)> > >排序(((關鍵,排序(項目()))關鍵,df_dict項目()))[(“第一行”,[(col1, 1), (“col2”, 0.5)]), (“row2”, [(col1, 2), (col2, 0.75))))

您還可以指定映射類型。

> > >集合進口OrderedDict,defaultdict> > >dfto_dict(=OrderedDict)OrderedDict ([(col1, OrderedDict(((第一行,1),(row2, 2)))), (col2, OrderedDict(((第一行,0.5),(0.75 row2,))))))

如果你想要一個defaultdict,您需要初始化:

> > >dd=defaultdict(列表)> > >dfto_dict(“記錄”,=dd)[defaultdict(<類“列表”>,{坳……,'col...}), defaultdict(, {'col..., 'col...})]