【问题标题】:One Column combination with all other columns using pandas一列与使用熊猫的所有其他列组合
【发布时间】:2018-10-20 05:58:33
【问题描述】:

我将非常感谢这里的任何帮助。我的数据框是这种格式

x1 x2 x3 ;

1 101 201;

2 102 202

我想以这种格式进入这个

x1 x2 x3 ;

1 101 201 ;

1 102 202 ;

2 101 201 ;

2 102 202

我可以使用给出所有组合的笛卡尔积。感谢您的帮助。

list(itertools.product(tx['x1'],tx['x2'],tx['x3']))

我正在学习熊猫,只是卡住了。

Data Frame

【问题讨论】:

  • 我不认为您粘贴的预期输出是cartesian product 的结果。

标签: pandas cartesian-product


【解决方案1】:

笛卡尔积将为您提供以下内容,而不是您粘贴的内容:

1   101   201 
1   101   201 
2   102   202 
2   102   202 

您可以通过向您的 df 添加一个虚拟列来实现这一点,例如:

d1['key'] = 1
In [710]: d1
Out[710]: 
   x1   x2   x3  key
0   1  101  201    1
1   2  102  202    1

然后,在 key 上加入 d1 和它自己以获得笛卡尔积:

In [819]: pd.merge(d1,d1,on='key')[['x1_x','x2_x','x3_x']]
Out[819]: 
   x1_x  x2_x  x3_x
0     1   101   201
1     1   101   201
2     2   102   202
3     2   102   202

如果这是你想要的,请告诉我?

【讨论】:

    猜你喜欢
    • 2017-01-31
    • 2019-04-02
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 2019-06-22
    • 2021-01-28
    • 2018-11-08
    • 2021-09-05
    相关资源
    最近更新 更多