import pandas as pd
inputdataframe1 = [['John', 4],['Steve', 5],['Mark', 6]]
inputdataframe2= [['John smith', 9],['Steve James', 8],['Mark Taylor', 4]]
dataframe1 = pd.DataFrame(inputdataframe1)
dataframe2= pd.DataFrame(inputdataframe2)
merged_dataframe = pd.merge(dataframe1, dataframe2, left_on=[0],right_on=[0],how='outer')
输出会是这样,因为我们不能直接合并它
0 1_x 1_y
0 John 4.0 NaN
1 Steve 5.0 NaN
2 Mark 6.0 NaN
3 John smith NaN 9.0
4 Steve James NaN 8.0
5 Mark Taylor NaN 4.0
如果您需要加入两个数据框,请使用 like 下面的代码将帮助您
import pandas as pd
inputdataframe1 = [['John', 4],['Steve', 5],['Mark', 6]]
inputdataframe2= [['John smith', 9],['Steve James', 8],['Mark Taylor', 4]]
dataframe1 = pd.DataFrame(inputdataframe1)
dataframe2= pd.DataFrame(inputdataframe2)
dataframe1_names=[key for key,value in inputdataframe1]
dataframe2_names=[key for key,value in inputdataframe2]
d=dict(inputdataframe1)
list_like_values=[[dataframe2_names[j],d[dataframe1_names[i]]] for i in range(len(dataframe2_names)) for j in range(len(dataframe1_names)) if(dataframe1_names[i] in dataframe2_names[j])]
dataframe1= pd.DataFrame(list_like_values)
merged_dataframe = pd.merge(dataframe1, dataframe2, left_on=[0],right_on=[0],how='inner')
输出格式如下
0 1_x 1_y
0 John smith 4 9
1 Steve James 5 8
2 Mark Taylor 6 4