{"id":5853,"date":"2022-05-22T01:01:00","date_gmt":"2022-05-21T16:01:00","guid":{"rendered":"https:\/\/itips.krsw.biz\/?p=5853"},"modified":"2025-06-09T22:31:20","modified_gmt":"2025-06-09T13:31:20","slug":"pandas-dataframe-cross-join","status":"publish","type":"post","link":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/","title":{"rendered":"How to get cross join with pandas.DataFrame"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-800x450.jpg\" alt=\"How to get cross join with pandas.DataFrame\" \/><\/p>\n<div class=\"st-kaiwa-box kaiwaicon7 clearfix\"><div class=\"st-kaiwa-face\"><img decoding=\"async\" src=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2022\/06\/junior_face_r_sulk_nobg_hair0_cloth10_200px.png\" width=\"60px\"><div class=\"st-kaiwa-face-name\"><\/div><\/div><div class=\"st-kaiwa-area\"><div class=\"st-kaiwa-hukidashi\">How can I get cross join data with pandas DataFrame ?<\/div><\/div><\/div>\n<p><\/br><\/p>\n<p><code>pandas.DataFrame<\/code> is useful to handle table format data.<\/p>\n<p>With using pandas, we can import CSV or Excel data and join them with common key column.<\/p>\n<p>And sometimes you want to get <span class=\"rmarker-s\">all combination data without any join condition<\/span>.<\/p>\n<p>But how can we get such all combination data.<\/p>\n<p>So today I will introduce about <strong>&quot;<span class=\"st-mymarker-s\">How to get cross join with pandas.DataFrame<\/span>&quot;<\/strong>.<\/p>\n<div class=\"st-mybox  has-title \" style=\"background:#ffffff;border-color:#BDBDBD;border-width:2px;border-radius:5px;margin: 25px 0;\"><p class=\"st-mybox-title\" style=\"color:#757575;font-weight:bold;background: #ffffff;\"><i class=\"fa fa-check-circle st-css-no\" aria-hidden=\"true\"><\/i>Author<\/p><div class=\"st-in-mybox\"><br \/>\n<div class=\"st-kaiwa-box kaiwaicon2 clearfix\"><div class=\"st-kaiwa-face\"><img decoding=\"async\" src=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2022\/06\/karasan_smile_200px_b.gif\" width=\"60px\"><div class=\"st-kaiwa-face-name\"><\/div><\/div><div class=\"st-kaiwa-area\"><div class=\"st-kaiwa-hukidashi\">Mid-carieer engineer (AI, system). Good at Python and SQL.<\/div><\/div><\/div><br \/>\n<\/div><\/div>\n<div class=\"st-minihukidashi-box \" ><p class=\"st-minihukidashi\" style=\"background:#3F51B5;color:#fff;margin: 0 0 0 -6px;font-size:80%;border-radius:30px;\"><span class=\"st-minihukidashi-arrow\" style=\"border-top-color: #3F51B5;\"><\/span><span class=\"st-minihukidashi-flexbox\">Advantage to read<\/span><\/p><\/div>\n<div class=\"clip-memobox \" style=\"background:#E8EAF6;color:#000000;\"><div class=\"clip-fonticon\" style=\"font-size:200%;color:#3F51B5;\"><i class=\"fa fa-thumbs-o-up st-css-no\" aria-hidden=\"true\"><\/i><\/div><div class=\"clip-memotext\" style=\"border-color:#3F51B5;\"><p style=\"color:#000000;\">You can understand about \"How to get cross join with pandas.DataFrame\". Then you don't have to concern about programming with pandas.DataFrame.<\/p><\/div><\/div>\n<p><!--more--><\/p>\n<p><\/br><\/p>\n<h2>pandas.DataFrame &quot;merge&quot;<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2021\/03\/transfer_1615110461-800x533.jpg\" alt=\"\" \/><\/p>\n<p>In order to join two DataFrame, we can use <code>merge<\/code>.<\/p>\n<div class=\"st-mybox  has-title st-mybox-class\" style=\"background:#fafafa;border-width:1px;border-radius:5px;margin: 25px 0 25px 0;\"><p class=\"st-mybox-title\" style=\"color:#757575;font-weight:bold;text-shadow: #fff 3px 0px 0px, #fff 2.83487px 0.981584px 0px, #fff 2.35766px 1.85511px 0px, #fff 1.62091px 2.52441px 0px, #fff 0.705713px 2.91581px 0px, #fff -0.287171px 2.98622px 0px, #fff -1.24844px 2.72789px 0px, #fff -2.07227px 2.16926px 0px, #fff -2.66798px 1.37182px 0px, #fff -2.96998px 0.42336px 0px, #fff -2.94502px -0.571704px 0px, #fff -2.59586px -1.50383px 0px, #fff -1.96093px -2.27041px 0px, #fff -1.11013px -2.78704px 0px, #fff -0.137119px -2.99686px 0px, #fff 0.850987px -2.87677px 0px, #fff 1.74541px -2.43999px 0px, #fff 2.44769px -1.73459px 0px, #fff 2.88051px -0.838246px 0px;\"><i class=\"fa fa-file-text-o st-css-no\" aria-hidden=\"true\"><\/i>Reference<\/p><div class=\"st-in-mybox\">\n<ul>\n<li><a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.merge.html\">pandas.merge \u2014 pandas 1.4.2 documentation<\/a><\/li>\n<\/ul>\n<\/div><\/div>\n<p><\/br><\/p>\n<p>Set two DataFrame and common key as parameters of  <code>pd.merge()<\/code>.<\/p>\n<div class=\"st-minihukidashi-box \" ><p class=\"st-minihukidashi\" style=\"background:#3F51B5;color:#fff;margin: 0 0 0 -6px;font-size:80%;border-radius:30px;\"><span class=\"st-minihukidashi-arrow\" style=\"border-top-color: #3F51B5;\"><\/span><span class=\"st-minihukidashi-flexbox\">SAMPLE<\/span><\/p><\/div>\n<pre class=\"prettyprint lang-python\">\nimport pandas as pd\n\ndata_list1 = &#091;\n    &#091;&#34;a&#34;,1&#093;,\n    &#091;&#34;b&#34;,2&#093;,\n    &#091;&#34;c&#34;,3&#093;,\n    &#091;&#34;d&#34;,4&#093;\n&#093;\ncol_list1 = &#091;&#34;column1-1&#34;,&#34;key&#34;&#093;\ndf1 = pd.DataFrame(data=data_list1, columns=col_list1)\nprint(df1)\n\n#   column1-1  key\n# 0         a    1\n# 1         b    2\n# 2         c    3\n# 3         d    4\n\ndata_list2 = &#091;\n    &#091;&#34;e&#34;,1&#093;,\n    &#091;&#34;f&#34;,2&#093;,\n    &#091;&#34;g&#34;,3&#093;,\n    &#091;&#34;h&#34;,4&#093;\n&#093;\ncol_list2 = &#091;&#34;column2-1&#34;,&#34;key&#34;&#093;\ndf2 = pd.DataFrame(data=data_list2, columns=col_list2)\nprint(df2)\n\n#   column2-1  key\n# 0         e    1\n# 1         f    2\n# 2         g    3\n# 3         h    4\n\ndf_crossjoin = pd.merge(\n    df1,\n    df2,\n    on=&#34;key&#34;\n)\nprint(df_crossjoin)\n\n#   column1-1  key column2-1\n# 0         a    1         e\n# 1         b    2         f\n# 2         c    3         g\n# 3         d    4         h\n<\/pre>\n<p><\/br><\/p>\n<p>Then we can join two DataFrame by common key.<\/p>\n<p><\/br><\/br><\/p>\n<h2>Cross join with merge<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/04\/why_1586096503-800x450.jpg\" alt=\"\" \/><\/p>\n<p>Next, in order to get all combination data, can we use <code>merge<\/code> without common key ?<\/p>\n<div class=\"st-minihukidashi-box \" ><p class=\"st-minihukidashi\" style=\"background:#3F51B5;color:#fff;margin: 0 0 0 -6px;font-size:80%;border-radius:30px;\"><span class=\"st-minihukidashi-arrow\" style=\"border-top-color: #3F51B5;\"><\/span><span class=\"st-minihukidashi-flexbox\">SAMPLE<\/span><\/p><\/div>\n<pre class=\"prettyprint lang-python\">\nimport pandas as pd\n\ndata_list1 = &#091;\n    &#091;&#34;a&#34;&#093;,\n    &#091;&#34;b&#34;&#093;,\n    &#091;&#34;c&#34;&#093;,\n    &#091;&#34;d&#34;&#093;\n&#093;\ncol_list1 = &#091;&#34;column1-1&#34;&#093;\ndf1 = pd.DataFrame(data=data_list1, columns=col_list1)\nprint(df1)\n\n#   column1-1\n# 0         a\n# 1         b\n# 2         c\n# 3         d\n\ndata_list2 = &#091;\n    &#091;&#34;e&#34;&#093;,\n    &#091;&#34;f&#34;&#093;,\n    &#091;&#34;g&#34;&#093;,\n    &#091;&#34;h&#34;&#093;\n&#093;\ncol_list2 = &#091;&#34;column2-1&#34;&#093;\ndf2 = pd.DataFrame(data=data_list2, columns=col_list2)\nprint(df2)\n\n#   column2-1\n# 0         e\n# 1         f\n# 2         g\n# 3         h\n\ndf_crossjoin = pd.merge(\n    df1,\n    df2\n)\nprint(df_crossjoin)\n\n# MergeError: No common columns to perform merge on. Merge options: left_on=None, right_on=None, left_index=False, right_index=False\n\n<\/pre>\n<p><\/br><\/p>\n<p>If we don't set common column in <code>merge<\/code>, it shows error like above.<\/p>\n<p>So what can we do ?<\/p>\n<p><\/br><\/br><\/p>\n<h2>How to get cross join with pandas.DataFrame<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/04\/answer_1586182862-800x533.jpg\" alt=\"\" \/><\/p>\n<p>In order to join DataFrame, we can use <code>merge<\/code>.<\/p>\n<p>But <code>merge<\/code> needs common key.<\/p>\n<p>So how can we do cross join ?<\/p>\n<p><\/br><\/p>\n<p>There is a method that <span class=\"st-mymarker-s\">we add dummy common column to both DataFrame<\/span>.<\/p>\n<div class=\"st-minihukidashi-box \" ><p class=\"st-minihukidashi\" style=\"background:#3F51B5;color:#fff;margin: 0 0 0 -6px;font-size:80%;border-radius:30px;\"><span class=\"st-minihukidashi-arrow\" style=\"border-top-color: #3F51B5;\"><\/span><span class=\"st-minihukidashi-flexbox\">SAMPLE<\/span><\/p><\/div>\n<pre class=\"prettyprint lang-python\">\nimport pandas as pd\n\ndata_list1 = &#091;\n    &#091;&#34;a&#34;&#093;,\n    &#091;&#34;b&#34;&#093;,\n    &#091;&#34;c&#34;&#093;,\n    &#091;&#34;d&#34;&#093;\n&#093;\ncol_list1 = &#091;&#34;column1-1&#34;&#093;\ndf1 = pd.DataFrame(data=data_list1, columns=col_list1)\ndf1&#091;&#34;dummy_key&#34;&#093; = 1\nprint(df1)\n\n#   column1-1  dummy_key\n# 0         a          1\n# 1         b          1\n# 2         c          1\n# 3         d          1\n\ndata_list2 = &#091;\n    &#091;&#34;e&#34;&#093;,\n    &#091;&#34;f&#34;&#093;,\n    &#091;&#34;g&#34;&#093;,\n    &#091;&#34;h&#34;&#093;\n&#093;\ncol_list2 = &#091;&#34;column2-1&#34;&#093;\ndf2 = pd.DataFrame(data=data_list2, columns=col_list2)\ndf2&#091;&#34;dummy_key&#34;&#093; = 1\nprint(df2)\n\n#   column2-1  dummy_key\n# 0         e          1\n# 1         f          1\n# 2         g          1\n# 3         h          1\n\ndf_crossjoin = pd.merge(\n    df1,\n    df2,\n    on=&#34;dummy_key&#34;\n)\nprint(df_crossjoin)\n\n#    column1-1  dummy_key column2-1\n# 0          a          1         e\n# 1          a          1         f\n# 2          a          1         g\n# 3          a          1         h\n# 4          b          1         e\n# 5          b          1         f\n# 6          b          1         g\n# 7          b          1         h\n# 8          c          1         e\n# 9          c          1         f\n# 10         c          1         g\n# 11         c          1         h\n# 12         d          1         e\n# 13         d          1         f\n# 14         d          1         g\n# 15         d          1         h\n\n<\/pre>\n<p><\/br><\/p>\n<p>Add dummy columns with same value.<\/p>\n<p>Then with using dummy columns as common key, we can do cross join.<\/p>\n<div class=\"st-mybox  has-title st-mybox-class\" style=\"background:#fafafa;border-width:1px;border-radius:5px;margin: 25px 0 25px 0;\"><p class=\"st-mybox-title\" style=\"color:#757575;font-weight:bold;text-shadow: #fff 3px 0px 0px, #fff 2.83487px 0.981584px 0px, #fff 2.35766px 1.85511px 0px, #fff 1.62091px 2.52441px 0px, #fff 0.705713px 2.91581px 0px, #fff -0.287171px 2.98622px 0px, #fff -1.24844px 2.72789px 0px, #fff -2.07227px 2.16926px 0px, #fff -2.66798px 1.37182px 0px, #fff -2.96998px 0.42336px 0px, #fff -2.94502px -0.571704px 0px, #fff -2.59586px -1.50383px 0px, #fff -1.96093px -2.27041px 0px, #fff -1.11013px -2.78704px 0px, #fff -0.137119px -2.99686px 0px, #fff 0.850987px -2.87677px 0px, #fff 1.74541px -2.43999px 0px, #fff 2.44769px -1.73459px 0px, #fff 2.88051px -0.838246px 0px;\"><i class=\"fa fa-file-text-o st-css-no\" aria-hidden=\"true\"><\/i>Reference<\/p><div class=\"st-in-mybox\">\n<ul>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/34161978\/pandas-two-dataframe-cross-join\">python - pandas two dataframe cross join - Stack Overflow<\/a><\/li>\n<\/ul>\n<\/div><\/div>\n<p><\/br><\/p>\n<p>In addition, if you don't want to show dummy column, you can delete it by <code>drop<\/code>.<\/p>\n<div class=\"st-minihukidashi-box \" ><p class=\"st-minihukidashi\" style=\"background:#3F51B5;color:#fff;margin: 0 0 0 -6px;font-size:80%;border-radius:30px;\"><span class=\"st-minihukidashi-arrow\" style=\"border-top-color: #3F51B5;\"><\/span><span class=\"st-minihukidashi-flexbox\">SAMPLE<\/span><\/p><\/div>\n<pre class=\"prettyprint lang-python\">\ndf_crossjoin.drop(columns=&#091;&#34;dummy_key&#34;&#093;, inplace=True)\nprint(df_crossjoin)\n\n#    column1-1 column2-1\n# 0          a         e\n# 1          a         f\n# 2          a         g\n# 3          a         h\n# 4          b         e\n# 5          b         f\n# 6          b         g\n# 7          b         h\n# 8          c         e\n# 9          c         f\n# 10         c         g\n# 11         c         h\n# 12         d         e\n# 13         d         f\n# 14         d         g\n# 15         d         h\n\n<\/pre>\n<p><\/br><\/br><\/p>\n<h2>Conclusion<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/11\/h2-conclusion-800x450.jpg\" alt=\"\" \/><\/p>\n<p>Today I will described about <strong>&quot;<span class=\"st-mymarker-s\">How to get cross join with pandas.DataFrame<\/span>&quot;<\/strong>.<\/p>\n<p>Important points are following.<\/p>\n<div class=\"st-minihukidashi-box \" ><p class=\"st-minihukidashi\" style=\"background:#3F51B5;color:#fff;margin: 0 0 0 -6px;font-size:80%;border-radius:30px;\"><span class=\"st-minihukidashi-arrow\" style=\"border-top-color: #3F51B5;\"><\/span><span class=\"st-minihukidashi-flexbox\">Point<\/span><\/p><\/div>\n<div class=\"clip-memobox \" style=\"background:#E8EAF6;color:#000000;\"><div class=\"clip-fonticon\" style=\"font-size:200%;color:#3F51B5;\"><i class=\"fa fa-hand-o-right st-css-no\" aria-hidden=\"true\"><\/i><\/div><div class=\"clip-memotext\" style=\"border-color:#3F51B5;\"><p style=\"color:#000000;\">\n<ul>\n<li>Use <code>merge<\/code> to join DataFrame<\/li>\n<li><code>merge<\/code> requires common key<\/li>\n<li>In order to get cross join, add dummy column as common key<\/li>\n<\/ul>\n<\/p><\/div><\/div>\n<p><\/br><\/p>\n<div class=\"st-kaiwa-box kaiwaicon1 clearfix\"><div class=\"st-kaiwa-face\"><img decoding=\"async\" src=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2022\/06\/karasan_sulk_200px.gif\" width=\"60px\"><div class=\"st-kaiwa-face-name\"><\/div><\/div><div class=\"st-kaiwa-area\"><div class=\"st-kaiwa-hukidashi\">With using dummy key, we can get cross joined DataFrame. But I hope pandas to allow join without <code>on<\/code> parameter.<\/div><\/div><\/div>\n<p><\/br><\/p>\n<p>There are some other articles about pandas.Dataframe.<\/p>\n<p>If you interested in them, please read them.<\/p>\n<div class=\"st-mybox  has-title st-mybox-class\" style=\"background:#E8F5E9;border-color:#43A047;border-width:3px;border-radius:5px;margin: 25px 0;\"><p class=\"st-mybox-title\" style=\"color:#006400;font-weight:bold;text-shadow: #fff 3px 0px 0px, #fff 2.83487px 0.981584px 0px, #fff 2.35766px 1.85511px 0px, #fff 1.62091px 2.52441px 0px, #fff 0.705713px 2.91581px 0px, #fff -0.287171px 2.98622px 0px, #fff -1.24844px 2.72789px 0px, #fff -2.07227px 2.16926px 0px, #fff -2.66798px 1.37182px 0px, #fff -2.96998px 0.42336px 0px, #fff -2.94502px -0.571704px 0px, #fff -2.59586px -1.50383px 0px, #fff -1.96093px -2.27041px 0px, #fff -1.11013px -2.78704px 0px, #fff -0.137119px -2.99686px 0px, #fff 0.850987px -2.87677px 0px, #fff 1.74541px -2.43999px 0px, #fff 2.44769px -1.73459px 0px, #fff 2.88051px -0.838246px 0px;\"><i class=\"fa fa fa-hand-o-right st-css-no\" aria-hidden=\"true\"><\/i>Read more<\/p><div class=\"st-in-mybox\"><br \/>\n\t\t\t<a href=\"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-how-to-find-and-drop-duplicated-row\/\" class=\"st-cardlink\">\n\t\t\t<div class=\"kanren st-cardbox\" >\n\t\t\t\t\t\t\t\t<dl class=\"clearfix\">\n\t\t\t\t\t<dt class=\"st-card-img\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"320\" height=\"180\" src=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-320x180.jpg\" class=\"attachment-thumbnail size-thumbnail wp-post-image\" alt=\"\" srcset=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-320x180.jpg 320w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-640x360.jpg 640w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-800x450.jpg 800w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-768x432.jpg 768w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-1536x864.jpg 1536w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-400x225.jpg 400w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python.jpg 1920w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t<\/dt>\n\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"st-cardbox-t\">How to handle duplicated rows in pandas.DataFrame<\/h5>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/dd>\n\t\t\t\t<\/dl>\n\t\t\t<\/div>\n\t\t\t<\/a>\n\t\t\t<br \/>\n\t\t\t<a href=\"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-how-to-print-all-rows-columns\/\" class=\"st-cardlink\">\n\t\t\t<div class=\"kanren st-cardbox\" >\n\t\t\t\t\t\t\t\t<dl class=\"clearfix\">\n\t\t\t\t\t<dt class=\"st-card-img\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"320\" height=\"180\" src=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-320x180.jpg\" class=\"attachment-thumbnail size-thumbnail wp-post-image\" alt=\"\" srcset=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-320x180.jpg 320w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-640x360.jpg 640w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-800x450.jpg 800w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-768x432.jpg 768w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-1536x864.jpg 1536w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python-400x225.jpg 400w, https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python.jpg 1920w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t<\/dt>\n\t\t\t\t\t<dd>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"st-cardbox-t\">How to print all rows and columns in pandas.DataFrame<\/h5>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/dd>\n\t\t\t\t<\/dl>\n\t\t\t<\/div>\n\t\t\t<\/a>\n\t\t\t<br \/>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>How can I get cross join data with pandas DataFrame ? pandas.DataFrame is useful to handle table for &#8230; <\/p>\n","protected":false},"author":1,"featured_media":2919,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"en_US","_original_post":"https:\/\/itips.krsw.biz\/?p=5846","footnotes":""},"categories":[6],"tags":[35],"class_list":["post-5853","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-pandas","en-US"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to get cross join with pandas.DataFrame - ITips\u30b7\u30b9\u30c6\u30e0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ba<\/title>\n<meta name=\"description\" content=\"pandas.DataFrame is useful to handle table format data.With using pandas, we can import CSV or Excel data and join them with common key column.And sometimes you want to get all combination data without any join condition.But how can we get such all combination data.So today I will introduce about &quot;How to get cross join with pandas.DataFrame&quot;.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to get cross join with pandas.DataFrame - ITips\u30b7\u30b9\u30c6\u30e0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ba\" \/>\n<meta property=\"og:description\" content=\"pandas.DataFrame is useful to handle table format data.With using pandas, we can import CSV or Excel data and join them with common key column.And sometimes you want to get all combination data without any join condition.But how can we get such all combination data.So today I will introduce about &quot;How to get cross join with pandas.DataFrame&quot;.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/\" \/>\n<meta property=\"og:site_name\" content=\"ITips\u30b7\u30b9\u30c6\u30e0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ba\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-21T16:01:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-09T13:31:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"ITips\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/karasan_itips\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ITips\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/\"},\"author\":{\"name\":\"ITips\",\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/#\\\/schema\\\/person\\\/981ee81393a64c1b43f0b62d91998f0c\"},\"headline\":\"How to get cross join with pandas.DataFrame\",\"datePublished\":\"2022-05-21T16:01:00+00:00\",\"dateModified\":\"2025-06-09T13:31:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/\"},\"wordCount\":537,\"image\":{\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/itips.krsw.biz\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/h2-python.jpg\",\"keywords\":[\"pandas\"],\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/\",\"url\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/\",\"name\":\"How to get cross join with pandas.DataFrame - ITips\u30b7\u30b9\u30c6\u30e0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ba\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/itips.krsw.biz\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/h2-python.jpg\",\"datePublished\":\"2022-05-21T16:01:00+00:00\",\"dateModified\":\"2025-06-09T13:31:20+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/#\\\/schema\\\/person\\\/981ee81393a64c1b43f0b62d91998f0c\"},\"description\":\"pandas.DataFrame is useful to handle table format data.With using pandas, we can import CSV or Excel data and join them with common key column.And sometimes you want to get all combination data without any join condition.But how can we get such all combination data.So today I will introduce about \\\"How to get cross join with pandas.DataFrame\\\".\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/#primaryimage\",\"url\":\"https:\\\/\\\/itips.krsw.biz\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/h2-python.jpg\",\"contentUrl\":\"https:\\\/\\\/itips.krsw.biz\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/h2-python.jpg\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/en\\\/pandas-dataframe-cross-join\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/itips.krsw.biz\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to get cross join with pandas.DataFrame\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/#website\",\"url\":\"https:\\\/\\\/itips.krsw.biz\\\/\",\"name\":\"ITips\u30b7\u30b9\u30c6\u30e0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ba\",\"description\":\"\u4e8b\u696d\u306b\u3068\u3063\u3066\u91cd\u8981\u306a\u60c5\u5831\u30b7\u30b9\u30c6\u30e0\u306e\u8ab2\u984c\u3092\u89e3\u6c7a\u3057\u307e\u3059\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/itips.krsw.biz\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/itips.krsw.biz\\\/#\\\/schema\\\/person\\\/981ee81393a64c1b43f0b62d91998f0c\",\"name\":\"ITips\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a89ef68c98cf6b05d7754a22b3e650bab179284eafbaa216db990ab3650cd763?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a89ef68c98cf6b05d7754a22b3e650bab179284eafbaa216db990ab3650cd763?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a89ef68c98cf6b05d7754a22b3e650bab179284eafbaa216db990ab3650cd763?s=96&d=mm&r=g\",\"caption\":\"ITips\"},\"description\":\"\u30b7\u30b9\u30c6\u30e0\u30a8\u30f3\u30b8\u30cb\u30a2\u3001AI\u30a8\u30f3\u30b8\u30cb\u30a2\u3068\u3001IT\u696d\u754c\u306710\u5e74\u4ee5\u4e0a\u50cd\u3044\u3066\u3044\u308b\u4e2d\u5805\u3002Python\u3068SQL\u304c\u5f97\u610f\u3002 System engineer AI engineer, Data scientist. Mid-carrier IT person. Good at Python and SQL.\",\"sameAs\":[\"https:\\\/\\\/www.pinterest.jp\\\/it_karasan\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/karasan_itips\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to get cross join with pandas.DataFrame - ITips\u30b7\u30b9\u30c6\u30e0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ba","description":"pandas.DataFrame is useful to handle table format data.With using pandas, we can import CSV or Excel data and join them with common key column.And sometimes you want to get all combination data without any join condition.But how can we get such all combination data.So today I will introduce about \"How to get cross join with pandas.DataFrame\".","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:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/","og_locale":"en_US","og_type":"article","og_title":"How to get cross join with pandas.DataFrame - ITips\u30b7\u30b9\u30c6\u30e0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ba","og_description":"pandas.DataFrame is useful to handle table format data.With using pandas, we can import CSV or Excel data and join them with common key column.And sometimes you want to get all combination data without any join condition.But how can we get such all combination data.So today I will introduce about \"How to get cross join with pandas.DataFrame\".","og_url":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/","og_site_name":"ITips\u30b7\u30b9\u30c6\u30e0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ba","article_published_time":"2022-05-21T16:01:00+00:00","article_modified_time":"2025-06-09T13:31:20+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python.jpg","type":"image\/jpeg"}],"author":"ITips","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/karasan_itips","twitter_misc":{"Written by":"ITips","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/#article","isPartOf":{"@id":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/"},"author":{"name":"ITips","@id":"https:\/\/itips.krsw.biz\/#\/schema\/person\/981ee81393a64c1b43f0b62d91998f0c"},"headline":"How to get cross join with pandas.DataFrame","datePublished":"2022-05-21T16:01:00+00:00","dateModified":"2025-06-09T13:31:20+00:00","mainEntityOfPage":{"@id":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/"},"wordCount":537,"image":{"@id":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/#primaryimage"},"thumbnailUrl":"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python.jpg","keywords":["pandas"],"articleSection":["Python"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/","url":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/","name":"How to get cross join with pandas.DataFrame - ITips\u30b7\u30b9\u30c6\u30e0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ba","isPartOf":{"@id":"https:\/\/itips.krsw.biz\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/#primaryimage"},"image":{"@id":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/#primaryimage"},"thumbnailUrl":"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python.jpg","datePublished":"2022-05-21T16:01:00+00:00","dateModified":"2025-06-09T13:31:20+00:00","author":{"@id":"https:\/\/itips.krsw.biz\/#\/schema\/person\/981ee81393a64c1b43f0b62d91998f0c"},"description":"pandas.DataFrame is useful to handle table format data.With using pandas, we can import CSV or Excel data and join them with common key column.And sometimes you want to get all combination data without any join condition.But how can we get such all combination data.So today I will introduce about \"How to get cross join with pandas.DataFrame\".","breadcrumb":{"@id":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/#primaryimage","url":"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python.jpg","contentUrl":"https:\/\/itips.krsw.biz\/wp-content\/uploads\/2020\/10\/h2-python.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/itips.krsw.biz\/en\/pandas-dataframe-cross-join\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/itips.krsw.biz\/"},{"@type":"ListItem","position":2,"name":"How to get cross join with pandas.DataFrame"}]},{"@type":"WebSite","@id":"https:\/\/itips.krsw.biz\/#website","url":"https:\/\/itips.krsw.biz\/","name":"ITips\u30b7\u30b9\u30c6\u30e0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ba","description":"\u4e8b\u696d\u306b\u3068\u3063\u3066\u91cd\u8981\u306a\u60c5\u5831\u30b7\u30b9\u30c6\u30e0\u306e\u8ab2\u984c\u3092\u89e3\u6c7a\u3057\u307e\u3059","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itips.krsw.biz\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/itips.krsw.biz\/#\/schema\/person\/981ee81393a64c1b43f0b62d91998f0c","name":"ITips","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a89ef68c98cf6b05d7754a22b3e650bab179284eafbaa216db990ab3650cd763?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a89ef68c98cf6b05d7754a22b3e650bab179284eafbaa216db990ab3650cd763?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a89ef68c98cf6b05d7754a22b3e650bab179284eafbaa216db990ab3650cd763?s=96&d=mm&r=g","caption":"ITips"},"description":"\u30b7\u30b9\u30c6\u30e0\u30a8\u30f3\u30b8\u30cb\u30a2\u3001AI\u30a8\u30f3\u30b8\u30cb\u30a2\u3068\u3001IT\u696d\u754c\u306710\u5e74\u4ee5\u4e0a\u50cd\u3044\u3066\u3044\u308b\u4e2d\u5805\u3002Python\u3068SQL\u304c\u5f97\u610f\u3002 System engineer AI engineer, Data scientist. Mid-carrier IT person. Good at Python and SQL.","sameAs":["https:\/\/www.pinterest.jp\/it_karasan\/","https:\/\/x.com\/https:\/\/twitter.com\/karasan_itips"]}]}},"_links":{"self":[{"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/posts\/5853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/comments?post=5853"}],"version-history":[{"count":7,"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/posts\/5853\/revisions"}],"predecessor-version":[{"id":7034,"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/posts\/5853\/revisions\/7034"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/media\/2919"}],"wp:attachment":[{"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/media?parent=5853"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/categories?post=5853"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itips.krsw.biz\/wp-json\/wp\/v2\/tags?post=5853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}