作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个用 pandas 创建的数据框。我不知道如何使用公共(public)列以特定格式合并两个数据帧。
我用过
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
最佳答案
你的代码对我有用,只是我以不同的方式定义了数据帧
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
关于python - Pandas 合并意想不到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55783573/
我是一名优秀的程序员,十分优秀!