Pandas 合并两个数据帧-结果为空df

Pandas 合并两个数据帧-结果为空df,pandas,merge,python-3.6,Pandas,Merge,Python 3.6,我正在尝试合并两个项目: Final_data sp_return date dj_return 0 0.000000 1927 0.306237 1 0.394938 1928 0.512283 2 -0.124227 1929 -0.176560 3 -0.235981 1930 -0.292411 4 -0.416280 1931 -0.478050 5 -0.054336 1932 -0.142564 6 0.4

我正在尝试合并两个项目:

 Final_data
    sp_return  date  dj_return
0    0.000000  1927   0.306237
1    0.394938  1928   0.512283
2   -0.124227  1929  -0.176560
3   -0.235981  1930  -0.292411
4   -0.416280  1931  -0.478050
5   -0.054336  1932  -0.142564
6    0.454805  1933   0.654280
7   -0.073477  1934   0.025883
8    0.372718  1935   0.345200
9    0.260973  1936   0.230361
10  -0.402949  1937  -0.346893
以及以下各项:

    date         president_name party
0   1921      Warren G. Harding     R
1   1922      Warren G. Harding     R
2   1923        Calvin Coolidge     R
3   1924        Calvin Coolidge     R
4   1925        Calvin Coolidge     R
5   1926        Calvin Coolidge     R
6   1927        Calvin Coolidge     R
7   1928        Calvin Coolidge     R
8   1929         Herbert Hoover     R
9   1930         Herbert Hoover     R
10  1931         Herbert Hoover     R
11  1932         Herbert Hoover     R
使用以下代码:

final_data1 = presidents.merge(final_data,  on='date')
然而,我最后得到的是一个空的“final_data1”df。你对为什么会发生这种情况有什么建议吗

请告诉我这个问题

我的代码:

df = pd.DataFrame({'Q4':[2906, 1508,738,206,154], 'i':1000})
df2 = pd.DataFrame({'Q4':[2906, 1508,738,206,1], 'j':2000})
df3 = df.merge(df2, on='Q4', how='outer')
df3.head()


      Q4         i       j
0   2906    1000.0  2000.0
1   1508    1000.0  2000.0
2   738     1000.0  2000.0
3   206     1000.0  2000.0
4   154     1000.0  NaN
5   1          NaN  2000.0
我的代码:

df = pd.DataFrame({'Q4':[2906, 1508,738,206,154], 'i':1000})
df2 = pd.DataFrame({'Q4':[2906, 1508,738,206,1], 'j':2000})
df3 = df.merge(df2, on='Q4', how='outer')
df3.head()


      Q4         i       j
0   2906    1000.0  2000.0
1   1508    1000.0  2000.0
2   738     1000.0  2000.0
3   206     1000.0  2000.0
4   154     1000.0  NaN
5   1          NaN  2000.0

合并之前,请确保数据类型相同。或添加以下行:

presidents['date'] = presidents['date'].astype(int)
final_data['date'] = final_data['date'].astype(int)

合并之前,请确保数据类型相同。或添加以下行:

presidents['date'] = presidents['date'].astype(int)
final_data['date'] = final_data['date'].astype(int)

检查日期的数据类型。(有关数据类型,请参见
presidents.info()
final_data.info()
)。如果一个说“object”,另一个说“int”,这就可以解释问题了。(如果值是字符串,则数据类型报告为“对象”。)检查
日期的数据类型。(有关数据类型,请参见
presidents.info()
final_data.info()
)。如果一个说“object”,另一个说“int”,这就可以解释问题了。(如果值是字符串,则数据类型报告为“object”。)很好的一个-您可以得到它;)很好的一个——你明白了;)