我在合并两个大型 Dataframe 时遇到了问题,因为合并返回NaN值,尽管有拟合值。两个dfs的形状如下:
df1
Motor
2232
1524
2230
2230
2224
1516
1724
2224
1524
1624
1724
2224
2224
1524
1524
1516
1524
2224
1624
1724
1724
2224
2224
df2
Motor Output Torque (mNm)
0615 0,17
1219 0,72
1516 0,59
1624 2
2230 4,7
2233 5,9
0816 0,7
1016 0,92
1024 1,6
1224 1,7
1319 1,4
1331 3,8
1516 0,97
1524 2,9
1717 2,2
1724 4,5
2224 6,8
2232 10
1336 3,6
1727 4,9
1741 8,8
2237 12
2642 26
我使用代码:
MergeDat=MergeDat.merge(Motor,how="left")
print(MergeDat)
其中,MergeDat= df 1,Motor= df 2
result返回:
Motor Output Torque (mNm)
0 2232 NaN
1 1524 NaN
2 2230 NaN
3 2230 NaN
4 2224 NaN
5 1516 NaN
6 1724 NaN
7 2224 NaN
8 1524 NaN
9 1624 NaN
10 1724 NaN
11 2224 NaN
12 2224 NaN
13 1524 NaN
14 1524 NaN
15 1516 NaN
16 1524 NaN
17 2224 NaN
18 1624 NaN
19 1724 NaN
20 1724 NaN
21 2224 NaN
22 2224 NaN
23 1524 NaN
24 1724 NaN
25 1841 NaN
26 2224 NaN
我不知道为什么输出扭矩列没有合并……
感谢任何帮助!
4条答案
按热度按时间qkf9rpyu1#
您需要相同的
dtype
连接列:wj8zmpe12#
在我的例子中,这是因为我在使用
df.reset_index(drop=True)
拆分 Dataframe 后没有重置索引。重置第一 Dataframe 的索引使得能够将第二 Dataframe 合并到第一 Dataframe 。xnifntxz3#
根据我的经验,在键列中有一些
NaN
是通常的罪魁祸首。在两个df
上至少尝试这3行中的第2行(其中unique_id
是用于合并的键列),看看是否有帮助:cgfeq70w4#
对我来说,我认为我有相同的索引,但在索引中有一个尾随的空间,用于第一个 Dataframe 。删除/修剪有帮助。