当前位置: 首页 > 面试题库 >

Python-Pandas的笛卡尔积

朱起运
2023-03-14
问题内容

我有两个pandas数据框:

from pandas import DataFrame
df1 = DataFrame({'col1':[1,2],'col2':[3,4]})
df2 = DataFrame({'col3':[5,6]})

获得其笛卡尔积的最佳实践是什么(当然不用像我这样明确地编写它)?

#df1, df2 cartesian product
df_cartesian = DataFrame({'col1':[1,2,1,2],'col2':[3,4,3,4],'col3':[5,5,6,6]})

问题答案:

如果每行都有一个重复的键,则可以使用merge生成笛卡尔乘积(就像在SQL中一样)。

from pandas import DataFrame, merge
df1 = DataFrame({'key':[1,1], 'col1':[1,2],'col2':[3,4]})
df2 = DataFrame({'key':[1,1], 'col3':[5,6]})

merge(df1, df2,on='key')[['col1', 'col2', 'col3']]

输出:

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6


 类似资料:
  • 问题内容: 给定两个简单的DataFrames; 这些框架的叉积可以计算出来,如下所示: 计算结果的最有效方法是什么? 问题答案: 让我们从建立基准开始。解决此问题的最简单方法是使用临时“键”列: 这是如何为两个DataFrame分配一个具有相同值(例如1)的临时“键”列的。然后对“键”执行多对多JOIN。 尽管多对多JOIN技巧适用于大小合理的DataFrame,但你会在较大数据上看到相对较低的

  • 问题内容: 在Tensorflow中有什么简单的方法可以像itertools.product一样做笛卡尔积吗?我想获得两个张量(和)的元素组合,在Python中可以通过itertools作为。我正在Tensorflow中寻找替代方案。 问题答案: 我将在此假定和均为一维张量。 为了得到两者的笛卡尔积,我会用的组合和: 您使用LEN(一) LEN(B) 2张量,其中的元件的每个组合结束并且在最后一维

  • 问题内容: 我试图找到两个不同集合的笛卡尔积。我在网上找不到有关列表或字典的笛卡尔积的任何信息。 功率设置也很混乱。 我使用的书中都没有这两个。 你们中的一位可以指出我正确的方向。 问题答案: 对于笛卡尔积,请检出。 对于幂,该文档也给我们的食谱: 例如:

  • 主要内容:Oracle CROSS JOIN子句简介,Oracle Cross Join示例在本教程中,您将学习如何使用Oracle 创建连接表的笛卡尔积。 Oracle CROSS JOIN子句简介 在数学中,给定两个集合和,的笛卡尔乘积是所有有序对(,)的集合,属于,属于。 要在Oracle中创建表的笛卡尔乘积,可以使用子句。 以下说明了子句的语法: 与其他连接(如或)不同,没有连接谓词的子句。 当执行两个没有关系的表的交叉连接时,将得到两个表的行和列的笛卡尔乘积。 当您想要生成大量

  • 问题内容: 我对SQL还是很陌生,并且正在为查询而苦苦挣扎(使用Access,FWIW)。我已经搜索并搜索了StackOverflow,但没有看到这种确切的情况。(这也可能是因为我不知道正确的搜索词。) 我有两个非常简单的表,其中包含相似的数据。 我想要的是在两个表以及该人所在的每个表的网络中找到匹配的每个人/州组合: 此人在每个表中可能位于多个网络中。我想查看此人所属的每个网络(从两个表中)。

  • 问题内容: 在学习了循环,数组,方法之后,…我开始玩图形游戏,但是遇到了一些问题。看到此示例时,我正在寻找一些示例:http : //javaceda.blogspot.ch/2010/06/draw- cartesian-coordinate-system-in.html 它提供了Java中笛卡尔平面的示例。我几乎可以理解该代码的所有内容(除了一些行,例如invokelater,SwingUti