用前一个数据框的所有杂乱组合创建数据框



我有一个数据框架:

John
Kelly
Jay
Max
Kert

我想创建一个新的数据框架,输出如下:

John_John
John_Kelly
John_Jay
John_Max
John_Kert
Kelly_John
Kelly_Kelly
Kelly_Jay
Kelly_Max
Kelly_Kert
...
Kert_Max
Kert_Kert

假设& name"列,您可以使用交叉merge:

df2 = df.merge(df, how='cross')
out = (df2['name_x']+'_'+df2['name_y']).to_frame('name')

或,itertools.product:

from itertools import product
out = pd.DataFrame({'name': [f'{a}_{b}' for a,b in product(df['name'], repeat=2)]})

输出:

name
0     John_John
1    John_Kelly
2      John_Jay
3      John_Max
4     John_Kert
5    Kelly_John
6   Kelly_Kelly
7     Kelly_Jay
8     Kelly_Max
9    Kelly_Kert
10     Jay_John
11    Jay_Kelly
12      Jay_Jay
13      Jay_Max
14     Jay_Kert
15     Max_John
16    Max_Kelly
17      Max_Jay
18      Max_Max
19     Max_Kert
20    Kert_John
21   Kert_Kelly
22     Kert_Jay
23     Kert_Max
24    Kert_Kert

相关内容

  • 没有找到相关文章

最新更新