pandas 生成笛卡爾集

2021-08-19 14:43:30 字數 1423 閱讀 9937

最近需要生成笛卡爾集,稍微看了一下,網上沒有特別好的辦法,後來自己想到了乙個辦法覺得還不錯,分享一下。

主要的想法是將兩個dataframe建立乙個共同的列,賦予同樣的值,然後進行左連線就可以了。**示例如下:

#匯入pandas包

import pandas as pd

#構造兩個資料集,用來生成笛卡爾集

df1=pd.dataframe()

df2=pd.dataframe()

df1out[4]:

col1 col2

0 a d

1 b e

2 c f

df2out[5]:

v10 1

1 2

2 3

3 4

#構造共同的列,賦予同樣的值

df1['value']=1

df2['value']=1

#將兩個資料集進行左連線

crt_prod=pd.merge(df1,df2,how='left',on='value')

crt_prod

out[8]:

col1 col2 value v1

0 a d 1 1

1 a d 1 2

2 a d 1 3

3 a d 1 4

4 b e 1 1

5 b e 1 2

6 b e 1 3

7 b e 1 4

8 c f 1 1

9 c f 1 2

10 c f 1 3

11 c f 1 4

#刪掉構造的列

del crt_prod['value']

#最終結果

crt_prod

out[10]:

col1 col2 v1

0 a d 1

1 a d 2

2 a d 3

3 a d 4

4 b e 1

5 b e 2

6 b e 3

7 b e 4

8 c f 1

9 c f 2

10 c f 3

11 c f 4

笛卡爾 關於笛卡爾

陪孩子看書看到笛卡爾,突然想到了笛卡爾積以及cross join等等,無法忽視的數學之美。關於笛卡爾發明座標系還有這樣乙個故事 有一天,笛卡爾 1596 1650,法國哲學家 數學家 物理學家 生病臥床,但他頭腦一直沒有休息,在反覆思考乙個問題 幾何圖形是直觀的,而代數方程則比較抽象,能不能用幾何圖...

笛卡爾 笛卡爾 解析幾何之父

勒內 笛卡爾,1596年3月31日生於法國安德爾 羅亞爾省的圖賴訥拉海,1650年2月11日逝世於瑞典斯德哥爾摩,是法國著名的哲學家 數學家 物理學家。他是西方近代哲學奠基人之一。他對現代數學的發展做出了重要的貢獻,因將幾何座標體系公式化而被認為是解析幾何之父。他還是西方現代哲學思想的奠基人,是近代...

笛卡爾 變數

笛卡爾的主要數學成果集中在他的 幾何學 中。他提出必須把幾何與代數的優點結合起來,建立一種 真正的數學 笛卡爾的思想核心是 把幾何學的問題歸結成代數形式的問題,用代數學的方法進行計算 證明,從而達到最終解決幾何問題的目的。依照這種思想他創立了我們現在稱之為的 解析幾何學 1637年,笛卡爾發表了 幾...