1import pandas as pd
2from functools import reduce
3
4# compile the list of dataframes you want to merge
5data_frames = [df1, df2, df3]
6df_merged = reduce(lambda left,right: pd.merge(left,right,on=['key_col'],
7 how='outer'), data_frames)
8
1# Stack the DataFrames on top of each other
2vertical_stack = pd.concat([survey_sub, survey_sub_last10], axis=0)
3
4# Place the DataFrames side by side
5horizontal_stack = pd.concat([survey_sub, survey_sub_last10], axis=1)
6
1# Joins with another DataFrame
2
3df.join(df2, df.name == df2.name, 'outer').select(
4 df.name, df2.height).collect()
5# [Row(name=None, height=80), Row(name=u'Bob', height=85), Row(
6# name=u'Alice', height=None)]
7
8df.join(df2, 'name', 'outer').select('name', 'height').collect()
9# [Row(name=u'Tom', height=80), Row(name=u'Bob', height=85), Row(
10# name=u'Alice', height=None)]
11
12cond = [df.name == df3.name, df.age == df3.age]
13df.join(df3, cond, 'outer').select(df.name, df3.age).collect()
14# [Row(name=u'Alice', age=2), Row(name=u'Bob', age=5)]
15
16df.join(df2, 'name').select(df.name, df2.height).collect()
17# Row(name=u'Bob', height=85)]
18
19df.join(df4, ['name', 'age']).select(df.name, df.age).collect()
20# [Row(name=u'Bob', age=5)]