我想合并打开的 Bixi 数据集中的两个 CSV 文件。问题是外部合并后,缺少行:
In [148]: outer_merged_df['Code']==7150
Out[148]:
0 False
1 False
2 False
3 False
4 False
...
1045584 False
1045585 False
1045586 False
1045587 False
1045588 False
Name: Code, Length: 1045589, dtype: bool
但是这一行出现在左侧数据集中:
In [151]: df['Code']==7150
...
615 True
这是外部合并的代码:
outer_merged_df = pd.merge(df, df_ride, left_on='Code', right_on='start_station_code', how='outer', indicator=True)
这里是读取碧溪游乐设施和车站的代码:
df_ride = pd.read_csv('OD_2019-08.csv')
df = pd.read_csv('Stations_2019.csv')
还有 CSV 文件的链接。如果您要下载它们,请使用 2019 年 8 月的文件。
当我进行左合并时,它找到了它:
In [154]: merged_df_left=pd.merge(df, df_ride, left_on='Code', right_on='start_station_code', how='left')
In [155]: merged_df_left['Code']==7150
Out[155]:
913466 True
Name: Code, Length: 913470, dtype: bool
这非常令人困惑。有人可以给个提示吗?
您确定outer_merged_df['Code']==7150不返回任何行吗?
您可以尝试下面的代码并看到它返回一行。
outer_merged_df[outer_merged_df['Code']==7150]