创建一个两个长度不等的向量之间存在差异的熊猫数据框

时间:2019-11-10 22:05:12

标签: python pandas broadcasting

我觉得这里缺少明显的东西。

我有两个长度不同(x和y)的整数向量。我想用x行和y列创建一个pandas数据框,其中每个单元格都包含两个向量的相应元素之间的差异。

例如,给定

v1 = np.array([2,4,8])
v2 = np.array([1,3])

v1 - v2

我想找回一些东西

np.array([[ 1, -1],
          [ 3,  1],
          [ 7,  5]])

上面的代码使用的是numpy,但最终,我想用Pandas做到这一点。

如果这是重复的或不清楚的,请提前道歉。老实说,我不确定要在此处搜索哪些术语。

1 个答案:

答案 0 :(得分:2)

要在NumPy中执行此操作,只需将轴添加到其中一个向量中即可:

>>> v1[:, None] - v2
array([[ 1, -1],
       [ 3,  1],
       [ 7,  5]])

然后,您可以根据需要将其转换为Pandas数据框。对于熊猫,this answer涉及外部乘积(这是乘积而不是减法的等效运算)可能对您有用。