2024-04-27 03:19:54 发布
网友
我有2个数据帧,都有大约30k行和8列,我需要从第二个数据帧的每一行的值中减去第一个数据帧中每一行的值(计算每一行之间的欧几里德距离),这可能会导致一个只有每一行之间差异的3d结构。我试过几种方法,但每一种都需要很长时间才能完成。有没有有效的方法?你知道吗
如果我理解正确,则生成的数据集将包含900.000.000行。你知道吗
scipy.spatial.distance.cdist-是计算两个输入集合的每对之间距离的最有效方法之一。你知道吗
如果您需要笛卡尔产品,请参阅@zipa的答案。你知道吗
为了获得价值,笛卡尔积可以按以下方式进行:
import pandas as pd df1 = pd.DataFrame({'A': [1,2,3]}) df2 = pd.DataFrame({'B': [4,5,6]}) df3 = pd.merge(df1.assign(key=1), df2.assign(key=1), on='key').drop('key', axis=1) df3 # A B #0 1 4 #1 1 5 #2 1 6 #3 2 4 #4 2 5 #5 2 6 #6 3 4 #7 3 5 #8 3 6
如果我理解正确,则生成的数据集将包含900.000.000行。你知道吗
scipy.spatial.distance.cdist-是计算两个输入集合的每对之间距离的最有效方法之一。你知道吗
如果您需要笛卡尔产品,请参阅@zipa的答案。你知道吗
为了获得价值,笛卡尔积可以按以下方式进行:
相关问题 更多 >
编程相关推荐