我有两个用熊猫创建的数据框。我不知道如何使用公共列以特定格式合并两个数据框。
我用过
pd.merge(dataframe1,dataframe2,on='A',how='outer')
但这不会产生预期的结果。
预期结果:
dataframe 1: dataframe 2: Result:
A B A A B
0 1 0 0 1
1 0 1 1 0
2 0 2 2 0
4 1 3 3 Nan
5 4 1
5 Nan
获得的结果:
dataframe 1: dataframe 2: Result:
A B A A B
0 1 0 0 1
1 0 1 1 0
2 0 2 2 0
4 1 3 3 1
5 4 Nan
5 Nan
答案 0 :(得分:1)
您的代码对我有用,只是我以不同的方式定义了数据框
import pandas as pd
# initialize list of lists
data1 = [[0, 1], [1, 0], [2, 0], [4,1]]
df1 = pd.DataFrame(data1, columns = ['A', 'B'])
data2 = [[0], [1], [2], [3], [5]]
df2 = pd.DataFrame(data2, columns = ['A'])
print(pd.merge(df1,df2,how='outer', on='A'))
# A B
#0 0 1.0
#1 1 0.0
#2 2 0.0
#3 4 1.0
#4 3 NaN
#5 5 NaN
答案 1 :(得分:0)
始终检查数据。使用者向我显示没有空格,但是发送了一个带有空格的文件(他发送了不带保存的版本),并向其中添加了.str.strip()
数据元素,一切开始正常工作。
从不信任任何输入。始终验证。