首页 > 解决方案 > 使用 pd.merge 加入数据帧的问题

问题描述

我有以下公式:

import pandas as pd 
houses = houses.reset_index()
houses['difference'] = houses[start]-houses[bottom]
towns = pd.merge(houses, unitowns, how='inner', on=['State','RegionName'])
print(towns)

但是,输出是具有0 行的数据框“城镇”。

我不明白为什么数据框“房屋”看起来像这样:

State   RegionName
0   Alabama Auburn
1   Alabama Florence
2   Alabama Jacksonville
3   Alabama Livingston
4   Alabama Montevallo
5   Alabama Troy
6   Alabama Tuscaloosa
7   Alabama Tuskegee
8   Alaska  Fairbanks

数据框“ unitowns”如下所示:

State   RegionName  2000q1  2000q2  2000q3  2000q4  2001q1  2001q2  2001q3  2001q4  ... 2014q2  2014q3  2014q4  2015q1  2015q2  2015q3  2015q4  2016q1  2016q2  2016q3
0   New York    New York    NaN NaN NaN NaN NaN NaN NaN NaN ... 5.154667e+05    5.228000e+05    5.280667e+05    5.322667e+05    5.408000e+05    5.572000e+05    5.728333e+05    5.828667e+05    5.916333e+05    587200.0
1   California  Los Angeles 2.070667e+05    2.144667e+05    2.209667e+05    2.261667e+05    2.330000e+05    2.391000e+05    2.450667e+05    2.530333e+05    ... 4.980333e+05    5.090667e+05    5.188667e+05    5.288000e+05    5.381667e+05    5.472667e+05    5.577333e+05    5.660333e+05    5.774667e+05    584050.0
2   Illinois    Chicago 1.384000e+05    1.436333e+05    1.478667e+05    1.521333e+05    1.569333e+05    1.618000e+05    1.664000e+05    1.704333e+05    ... 1.926333e+05    1.957667e+05    2.012667e+05    2.010667e+05    2.060333e+05    2.083000e+05    2.079000e+05    2.060667e+05    2.082000e+05    212000.0
3   Pennsylvania    Philadelphia    5.300000e+04    5.363333e+04    5.413333e+04    5.470000e+04    5.533333e+04    5.553333e+04    5.626667e+04    5.753333e+04    ... 1.137333e+05    1.153000e+05    1.156667e+05    1.162000e+05    1.179667e+05    1.212333e+05    1.222000e+05    1.234333e+05    1.269333e+05    128700.0
4   Arizona Phoenix 1.118333e+05    1.143667e+05    1.160000e+05    1.174000e+05    1.196000e+05    1.215667e+05    1.227000e+05    1.243000e+05    ... 1.642667e+05    1.653667e+05    1.685000e+05    1.715333e+05    1.741667e+05    1.790667e+05    1.838333e+05    1.879000e+05    1.914333e+05    195200.0

标签: pythonpandasdataframejoininner-join

解决方案


推荐阅读