

{"id":57549,"date":"2019-06-03T17:06:34","date_gmt":"2019-06-03T11:36:34","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=57549"},"modified":"2019-06-04T18:29:31","modified_gmt":"2019-06-04T12:59:31","slug":"pandas-merge-and-join","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/","title":{"rendered":"Pandas Merge and Join &#8211; Strategies For Beginners"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:1521,&quot;href&quot;:&quot;https:\\\/\\\/pandas.pydata.org\\\/pandas-docs\\\/stable\\\/user_guide\\\/merging.html&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251009162138\\\/https:\\\/\\\/pandas.pydata.org\\\/pandas-docs\\\/stable\\\/user_guide\\\/merging.html&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-09 10:15:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-02 20:03:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-07 00:42:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-12 23:42:56&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 06:19:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-26 09:02:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-03 04:35:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 17:17:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-12 04:30:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-22 03:30:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-01 12:26:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-13 14:45:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-23 07:32:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-13 11:35:22&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-13 11:35:22&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p>The last tutorial ended with the question- How is Pandas Concatenation different from Pandas Merging and Joining? Hope, you all remember that. Today, we will come up with an answer to this question and discuss the various functions offered by pandas merge and join for the dataframes.<\/p>\n<h2>Pandas Merge and Join Functions<\/h2>\n<p><em>Pandas merging and joining functions allow us to create better datasets. This helps to get efficient and accurate results when trying to analyze data.<\/em><\/p>\n<p>To perform pandas merge and join function, we have to import pandas and invoke it using the term \u201cpd\u201d<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; import pandas as pd<\/pre>\n<ul>\n<li><strong>Now, we will create a dictionary and convert it into a <em><a href=\"https:\/\/data-flair.training\/blogs\/pandas-dataframe\/\">pandas dataframe<\/a><\/em>.<\/strong><\/li>\n<\/ul>\n<p>Print the dataframe.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; dataflair={\r\n... 'item no.':[1,2,3,4,5],\r\n... 'category':['vegetable','vegetable','fruit','vegetable','fruit'],\r\n... 'name':['carrot','beans','apple','potato','grapes']\r\n...\r\n... }\r\n&gt;&gt;&gt; a=pd.DataFrame(dataflair,columns=['item no.','category','name'])\r\n&gt;&gt;&gt; a<\/pre>\n<p><strong>Output-<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Creating-a-pandas-Dataframes.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57552\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Creating-a-pandas-Dataframes.jpg\" alt=\"Creating a pandas Dataframes\" width=\"1366\" height=\"723\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Creating-a-pandas-Dataframes.jpg 1366w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Creating-a-pandas-Dataframes-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Creating-a-pandas-Dataframes-300x159.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Creating-a-pandas-Dataframes-768x406.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Creating-a-pandas-Dataframes-1024x542.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Creating-a-pandas-Dataframes-520x275.jpg 520w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><\/p>\n<p>We saw that the DataFrame has 3 columns and 5 rows.<\/p>\n<ul>\n<li><strong>Next, create another dictionary and make a DataFrame from it.<\/strong><\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; dataflair2={\r\n... 'item no.':[4,5,6,7,8],\r\n... 'category':['vegetable','fruit','fruit','vegetable','fruit'],\r\n... 'name':['gourd','mango','peach','peas','watermelon']\r\n...\r\n... }\r\n&gt;&gt;&gt; b=pd.DataFrame(dataflair2,columns=['item no.','category','name'])\r\n&gt;&gt;&gt; b<\/pre>\n<p><strong>Output-<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-2nd-dataframes-in-Pandas.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57568\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-2nd-dataframes-in-Pandas.jpg\" alt=\"create 2nd dataframes in Pandas\" width=\"1366\" height=\"740\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-2nd-dataframes-in-Pandas.jpg 1366w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-2nd-dataframes-in-Pandas-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-2nd-dataframes-in-Pandas-300x163.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-2nd-dataframes-in-Pandas-768x416.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-2nd-dataframes-in-Pandas-1024x555.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-2nd-dataframes-in-Pandas-520x282.jpg 520w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><\/p>\n<p>Again, we have 3 columns and 5 rows.<\/p>\n<ul>\n<li><strong>We create the third and final dictionary to form the last DataFrame.<\/strong><\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; dataflair3={\r\n... 'item no.':[1,2,3,4,5,6,7,8,9,10],\r\n... 'price':[12,23,98,15,88,24,67,58,26,96]\r\n... }\r\n\r\n&gt;&gt;&gt; c=pd.DataFrame(dataflair3,columns=['item no.','price'])\r\n&gt;&gt;&gt; c<\/pre>\n<p><strong>Output-<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-3rd-dataframe-in-pandas.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57569\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-3rd-dataframe-in-pandas.jpg\" alt=\"create 3rd dataframes in Pandas\" width=\"1366\" height=\"742\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-3rd-dataframe-in-pandas.jpg 1366w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-3rd-dataframe-in-pandas-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-3rd-dataframe-in-pandas-300x163.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-3rd-dataframe-in-pandas-768x417.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-3rd-dataframe-in-pandas-1024x556.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/create-3rd-dataframe-in-pandas-520x282.jpg 520w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><\/p>\n<p>Here, we got the 2 columns, but 10 rows.<\/p>\n<h3>1. Pandas Concatenation<\/h3>\n<p>Using the concat function, we can<em> <a href=\"https:\/\/data-flair.training\/blogs\/pandas-concatenation\/\"><strong>concatenate two DataFrames in Pandas<\/strong><\/a>:<\/em><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; new_dataflair=pd.concat([a,b])\r\n&gt;&gt;&gt; new_dataflair<\/pre>\n<p>This gives us a DataFrame, with a and b together. But this is vertical; to add horizontally, we use the following function:<\/p>\n<ul>\n<li><strong>Horizontal Concatenation<\/strong><\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; pd.concat([a,b], axis=1)<\/pre>\n<p>Using the axis=1 parameter, we are able to concatenate on the horizontal axis.<\/p>\n<p><strong>Output-<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Concatenation.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57570\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Concatenation.jpg\" alt=\"Example of Pandas Concatenation\" width=\"1366\" height=\"740\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Concatenation.jpg 1366w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Concatenation-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Concatenation-300x163.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Concatenation-768x416.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Concatenation-1024x555.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Concatenation-520x282.jpg 520w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><\/p>\n<h3>2. Pandas Merge<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; dataflair_x pd.merge(new_dataflair, c, on='item no.')\r\n&gt;&gt;&gt; dataflair_x<\/pre>\n<p>The Pandas merge function lets us merge the dataframe of items with their corresponding elements. This is achieved by the <strong>parameter \u201con\u201d<\/strong> which allow us to select the common column between two dataframes.<\/p>\n<p><strong>Output-<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Merge.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57571\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Merge.jpg\" alt=\"Pandas Merging example\" width=\"1366\" height=\"740\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Merge.jpg 1366w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Merge-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Merge-300x163.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Merge-768x416.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Merge-1024x555.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Merge-520x282.jpg 520w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><\/p>\n<h4>2.1 Pandas Merging Using Multiple Keys<\/h4>\n<p>We can also <strong>merge dataframes using multiple keys<\/strong> using the following instruction.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; pd.merge(a,b,on=['item no.','category'])<\/pre>\n<p>This will yield the common rows between the two dataframes for the corresponding column values.<\/p>\n<p><strong>Output-<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-Using-Multiple-Keys.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57572\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-Using-Multiple-Keys.jpg\" alt=\"Pandas Merging Using Multiple Keys\" width=\"1366\" height=\"740\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-Using-Multiple-Keys.jpg 1366w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-Using-Multiple-Keys-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-Using-Multiple-Keys-300x163.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-Using-Multiple-Keys-768x416.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-Using-Multiple-Keys-1024x555.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-Using-Multiple-Keys-520x282.jpg 520w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><\/p>\n<h4>2.2 Pandas Merging on the Basis of Index<\/h4>\n<p>This function helps to merge two dataframes, based on the index of both of them.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; new6_dataflair=pd.merge(a, b, right_index=True, left_index=True)\r\n&gt;&gt;&gt; new6_dataflair<\/pre>\n<p><em><strong>Get a trick to <a href=\"https:\/\/data-flair.training\/blogs\/pandas-index-and-select\/\">Index the Pandas Dataframes<\/a><\/strong><\/em><\/p>\n<p><strong>Output-<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-on-the-Basis-of-Index.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57573\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-on-the-Basis-of-Index.jpg\" alt=\"Pandas Merging on the Basis of Index\" width=\"1366\" height=\"740\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-on-the-Basis-of-Index.jpg 1366w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-on-the-Basis-of-Index-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-on-the-Basis-of-Index-300x163.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-on-the-Basis-of-Index-768x416.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-on-the-Basis-of-Index-1024x555.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merging-on-the-Basis-of-Index-520x282.jpg 520w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><\/p>\n<h3>3. Pandas Join<\/h3>\n<p>There are 4 types of joins available in Pandas, let&#8217;s discuss one by one with an example-<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57585\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions.jpg\" alt=\"Pandas Merge and Join Functions\" width=\"802\" height=\"420\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions.jpg 802w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions-520x272.jpg 520w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><\/a><\/p>\n<h4>3.1 Pandas Outer Join<\/h4>\n<p>With an outer <a href=\"https:\/\/pandas.pydata.org\/pandas-docs\/stable\/user_guide\/merging.html\">join in Pandas<\/a>, we tend to achieve a dataframe with all records of elements from both a and b.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Outer-Join.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57558\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Outer-Join.jpg\" alt=\" Pandas Outer Join\" width=\"350\" height=\"250\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Outer-Join.jpg 350w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Outer-Join-150x107.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Outer-Join-300x214.jpg 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/a><\/p>\n<p>For each column attribute, we get an x and a y version. The x version belongs to the first dataframe and consists of members from its own dataset, including the ones common with the second dataframe. The other values are treated as missing values. For the y version, it\u2019s the same.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; new2_dataflair=pd.merge(a, b, on='item no.', how='outer')\r\n&gt;&gt;&gt; new2_dataflair<\/pre>\n<p><strong>Output-<\/strong><\/p>\n<h4><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Exampe-of-Pandas-Outer-Join.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57579\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Exampe-of-Pandas-Outer-Join.jpg\" alt=\"Pandas Outer Join with example\" width=\"1366\" height=\"740\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Exampe-of-Pandas-Outer-Join.jpg 1366w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Exampe-of-Pandas-Outer-Join-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Exampe-of-Pandas-Outer-Join-300x163.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Exampe-of-Pandas-Outer-Join-768x416.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Exampe-of-Pandas-Outer-Join-1024x555.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Exampe-of-Pandas-Outer-Join-520x282.jpg 520w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><\/h4>\n<h4>3.2 Pandas Inner Join<\/h4>\n<p>In an inner join, only the common values between the two dataframes are shown.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/pandas-Inner-join.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57559\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/pandas-Inner-join.jpg\" alt=\"Pandas Inner Join\" width=\"350\" height=\"250\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/pandas-Inner-join.jpg 350w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/pandas-Inner-join-150x107.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/pandas-Inner-join-300x214.jpg 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/a><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; new3_dataflair=pd.merge(a, b, on='item no.', how='inner')\r\n&gt;&gt;&gt; new3_dataflair<\/pre>\n<p><strong>Output-<\/strong><\/p>\n<h4><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Inner-Join.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57580\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Inner-Join.jpg\" alt=\"Example of Pandas Inner Join\" width=\"1364\" height=\"740\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Inner-Join.jpg 1364w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Inner-Join-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Inner-Join-300x163.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Inner-Join-768x417.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Inner-Join-1024x556.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Inner-Join-520x282.jpg 520w\" sizes=\"auto, (max-width: 1364px) 100vw, 1364px\" \/><\/a><\/h4>\n<h4>3.3 Pandas Right Join<\/h4>\n<p>In this, the x version of the columns show only the common values and the missing values. The y version shows all the values that are both- common and unique to the second dataframe.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-right-join.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57560\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-right-join.jpg\" alt=\"Pandas right join\" width=\"350\" height=\"250\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-right-join.jpg 350w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-right-join-150x107.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-right-join-300x214.jpg 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/a><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; new4_dataflair=pd.merge(a, b, on='item no.', how='right')\r\n&gt;&gt;&gt; new4_dataflair<\/pre>\n<p><strong>Output-<\/strong><\/p>\n<h4><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Right-join.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57581\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Right-join.jpg\" alt=\"Pandas Right Join with Example\" width=\"1366\" height=\"740\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Right-join.jpg 1366w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Right-join-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Right-join-300x163.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Right-join-768x416.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Right-join-1024x555.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Right-join-520x282.jpg 520w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><\/h4>\n<h4>3.4 Pandas Left Join<\/h4>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-left-Join.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57561\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-left-Join.jpg\" alt=\"Pandas left Join\" width=\"350\" height=\"250\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-left-Join.jpg 350w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-left-Join-150x107.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-left-Join-300x214.jpg 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/a><\/p>\n<p>In this, the x version consists of all the unique and common values from the first dataframe, but the y version only has the common values and missing values.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt;&gt;&gt; new5_dataflair=pd.merge(a, b, on='item no.', how='left')\r\n&gt;&gt;&gt; new5_dataflair<\/pre>\n<p><strong>Output-<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Left-Join.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-57582\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Left-Join.jpg\" alt=\"Pandas Left Join with example\" width=\"1366\" height=\"740\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Left-Join.jpg 1366w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Left-Join-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Left-Join-300x163.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Left-Join-768x416.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Left-Join-1024x555.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Example-of-Pandas-Left-Join-520x282.jpg 520w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><\/p>\n<h2>Summary<\/h2>\n<p>Through this article, we come across the various kinds of merge and join functions offered by pandas. This helps us manipulate data better. Hope you understood the differences between concatenation, merging, and joining in pandas.<\/p>\n<p>Has this tutorial on pandas merging and joining been helpful to you? Let us know your suggestions, if any, and leave your feedback in the comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The last tutorial ended with the question- How is Pandas Concatenation different from Pandas Merging and Joining? Hope, you all remember that. Today, we will come up with an answer to this question and&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":57585,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19475],"tags":[20016,20012,20014,20015,20011,20013],"class_list":["post-57549","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pandas","tag-pandas-join-example","tag-pandas-join-tutorial","tag-pandas-joining","tag-pandas-merge-example","tag-pandas-merge-tutorial","tag-pandas-merging"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pandas Merge and Join - Strategies For Beginners - DataFlair<\/title>\n<meta name=\"description\" content=\"Pandas merging and joining functions allow us to create better datasets. So learn best data strcuture with pandas merge and types of joins-outer, inner, left, right\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pandas Merge and Join - Strategies For Beginners - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Pandas merging and joining functions allow us to create better datasets. So learn best data strcuture with pandas merge and types of joins-outer, inner, left, right\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-03T11:36:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-06-04T12:59:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"802\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pandas Merge and Join - Strategies For Beginners - DataFlair","description":"Pandas merging and joining functions allow us to create better datasets. So learn best data strcuture with pandas merge and types of joins-outer, inner, left, right","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/","og_locale":"en_US","og_type":"article","og_title":"Pandas Merge and Join - Strategies For Beginners - DataFlair","og_description":"Pandas merging and joining functions allow us to create better datasets. So learn best data strcuture with pandas merge and types of joins-outer, inner, left, right","og_url":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2019-06-03T11:36:34+00:00","article_modified_time":"2019-06-04T12:59:31+00:00","og_image":[{"width":802,"height":420,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Pandas Merge and Join &#8211; Strategies For Beginners","datePublished":"2019-06-03T11:36:34+00:00","dateModified":"2019-06-04T12:59:31+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/"},"wordCount":565,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions.jpg","keywords":["Pandas Join Example","Pandas Join Tutorial","Pandas Joining","pandas merge example","Pandas Merge Tutorial","Pandas Merging"],"articleSection":["Pandas Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/","url":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/","name":"Pandas Merge and Join - Strategies For Beginners - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions.jpg","datePublished":"2019-06-03T11:36:34+00:00","dateModified":"2019-06-04T12:59:31+00:00","description":"Pandas merging and joining functions allow us to create better datasets. So learn best data strcuture with pandas merge and types of joins-outer, inner, left, right","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/06\/Pandas-Merge-and-Join-Functions.jpg","width":802,"height":420,"caption":"Pandas Merge and Join Functions"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/pandas-merge-and-join\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Pandas Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/pandas\/"},{"@type":"ListItem","position":3,"name":"Pandas Merge and Join &#8211; Strategies For Beginners"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team creates expert-level guides on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our goal is to empower learners with easy-to-understand content. Explore our resources for career growth and practical learning.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/57549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=57549"}],"version-history":[{"count":9,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/57549\/revisions"}],"predecessor-version":[{"id":57856,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/57549\/revisions\/57856"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/57585"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=57549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=57549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=57549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}