2017-10-10 17 views
0

dict_valuesからpysparkデータフレームを生成しようとしています。私はパンダのconcate関数を使用して同じことを達成することができます。辞書は、キーをpysparkデータフレームとして年と値で構成します。dict_valuesからpysparkデータフレームを作成する

ここに私のコードは、私は私がそれを達成するためのより良い方法ではないすべてのデータフレームをすべてのユニオンに1つの代替を持っています。

dict_ym = {} 
for yearmonth in keys:  
    key_name = 'df_'+str(yearmonth) 
    dict_ym[key_name]= df 
    # Add a new column to dataframe 
    # Perform some more transformation 

dict_ym 

# Now above dict has key as yearmonth for eg. 201501 and value as dataframe consit of 10 columns 

def union_all_dataframes(*dfs): 
    return reduce(DataFrame.unionAll, dfs) 

df2 = union_all_dataframes(dict_ym['df_201501'],dict_ym['df_201502'] ... so on till dict_ym['df_201709']) 

しかし、パンダのデータフレームに、私は、コードのセットの下に使用して他の人に1以下の全てのデータフレームを追加します。このような何か行うことができます:私は彼らがpysparkを作成するために、よりエレガントなことだと思う

df2 = pd.concat(dict_ym.values()) # here dict_ym has pandas dataframe in case of spark df 

をデータフレームもpandas.concatと似ています。

答えて

1

df2 = union_all_dataframes(*dict_ym.values()) 
、これを試してみてください
関連する問題