最近需要生成笛卡爾集,稍微看了一下,網上沒有特別好的辦法,後來自己想到了乙個辦法覺得還不錯,分享一下。
主要的想法是將兩個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年,笛卡爾發表了 幾...