python:用Pandas实现笛卡尔积效果 , pd.merge(students, subjects, how = 'cross' )

limalove / 2023-08-23 / 原文

 参数how = ‘cross' 实现笛卡尔效果;

pd.merge(students, subjects, how = 'cross' )

 

 

 

 

 

 

 

方法二:

 

 1 import pandas as pd
 2 
 3 
 4 
 5 
 6 students = pd.DataFrame([[1, 'Alice'],
 7                          [2, 'Bob'],
 8                          [13, 'John'],
 9                          [6,'Alex']], columns = ['student_id', 'student_name'])
10 
11 
12 print(students)
13 
14 
15 
16 subjects = pd.DataFrame([['Math'],
17                          ['Physics'],
18                          ['Programming'],
19                          ], columns = ['subject_name'])
20 
21 
22 print(subjects)
23 
24 students['value'] = 1
25 subjects['value'] = 1
26 
27 a = students.merge(subjects, how = 'outer', on = 'value')
28 del a['value']
29 print('\n', a)