2017-10-10 187 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()) 
相关问题