2017-10-10 184 views
0

我想從dict_values中生成一個pyspark數據框。我可以使用熊貓級聯功能實現相同的功能。字典包括鍵年份和價值作爲pyspark數據框。從dict_values創建一個pyspark數據框

這裏是我的代碼,我正在使用我有一個替代聯盟的所有數據幀,我認爲不是更好的方式來實現它。

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']) 

但在大熊貓數據幀我可以做這樣的事情,這將一個下面附加的所有dataframes給他人使用下面的代碼集:

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

我認爲他們會更優雅創建pyspark數據幀也與pandas.concat類似。

回答

1

試試這個,

df2 = union_all_dataframes(*dict_ym.values()) 
相關問題