我有两个熊猫数据框架,如下:
df1:
id name1
123 AAA
345 BBB
df2:
id_1 city address_1 address_2 province country mail
123 SFO - - - - -
234 TO - - - - -
345 NY - - - - -
我正在合并df1和df2,但在结果中我只需要"城市"列从df2。一种方法是合并并把它们放到下面
df_merged = pd.merge(df1,df2,left_on='id',right_on='id_1',how='left').drop(columns=['address_1',..])
但是如果列数比较多,在drop函数中指定所有不必要的列会变得很繁琐。只是想知道是否有一种有效的方法来指定合并所需的列。
如有任何建议,不胜感激。
如果您只需要城市列,您可以这样做:
df_merged = pd.merge(df1,df2,left_on='id',right_on='id_1',how='left')['City']
当然,如果您需要更多,您可以添加它们。只是要确保添加了第二个括号,因为对于>1列,需要传递一个列表。
您可以在合并步骤中选择df2中的相关列。
df_merged = pd.merge(df1,
df2[[ 'id_1', 'City']],
left_on='id',right_on='id_1',how='left')