Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pandas-如何将两个数据帧(相同维度)的不相交内容合并到单个数据帧中_Python_Pandas_Dataframe_Merge - Fatal编程技术网

Python Pandas-如何将两个数据帧(相同维度)的不相交内容合并到单个数据帧中

Python Pandas-如何将两个数据帧(相同维度)的不相交内容合并到单个数据帧中,python,pandas,dataframe,merge,Python,Pandas,Dataframe,Merge,我有两个数据帧,它们的形状相同(索引和列名相同),而且都是稀疏填充的。两个数据帧中填充的单元格保证不相交,例如,如果df1中的单元格A1已填充,则df2中的对应单元格保证不相交。我想将这两个数据帧的内容合并成一个数据帧-有什么建议吗 以下是一个玩具示例: 给定这两个输入数据帧: df1 = pd.DataFrame(index = [0,1,2,3]) df2 = pd.DataFrame(index = [0,1,2,3]) df1['Fruit'] = ['Apple','','Orang

我有两个数据帧,它们的形状相同(索引和列名相同),而且都是稀疏填充的。两个数据帧中填充的单元格保证不相交,例如,如果df1中的单元格A1已填充,则df2中的对应单元格保证不相交。我想将这两个数据帧的内容合并成一个数据帧-有什么建议吗

以下是一个玩具示例:

给定这两个输入数据帧:

df1 = pd.DataFrame(index = [0,1,2,3])
df2 = pd.DataFrame(index = [0,1,2,3])

df1['Fruit'] = ['Apple','','Orange','']
df1['Veg'] = ['Onion','','','Carrot']
df2['Fruit'] = ['','Banana','','']
df2['Veg'] = ['','Parsnip','','']
我想输出:

df3 = pd.DataFrame(index = [0,1,2,3])
df3['Fruit'] = ['Apple','Banana','Orange','']
df3['Veg'] = ['Onion','Parsnip','','Carrot']
数据帧看起来像:

df1:

df2:

df3:


您可以使用
all
条件执行
concat
dropna

df=pd.concat([df1,df2],axis=0).replace('',np.NaN).dropna(how='all').sort_index().fillna('')

df
Out[21]: 
    Fruit      Veg
0   Apple    Onion
1  Banana  Parsnip
2  Orange      
3          Carrot
    Fruit      Veg
0                 
1  Banana  Parsnip
2                 
3                 
    Fruit      Veg
0   Apple    Onion
1  Banana  Parsnip
2  Orange         
3           Carrot
df=pd.concat([df1,df2],axis=0).replace('',np.NaN).dropna(how='all').sort_index().fillna('')

df
Out[21]: 
    Fruit      Veg
0   Apple    Onion
1  Banana  Parsnip
2  Orange      
3          Carrot