【问题标题】:Create a pandas dataframe with differences between two vectors of unequal length创建一个熊猫数据框,其中两个长度不等的向量之间存在差异
【发布时间】:2019-11-10 22:05:12
【问题描述】:

我觉得我在这里遗漏了一些明显的东西。

我有两个不同长度的整数向量(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 来做。

如果重复或不清楚,请提前道歉。老实说,我不确定要在这里搜索什么字词。

【问题讨论】:

  • 您的问题是要在pandas 中完全做到这一点吗?
  • 理想情况下是的,但下面 Seb 的回答很容易转换为 pandas.DataFrame。

标签: python pandas broadcasting


【解决方案1】:

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

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

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

【讨论】:

  • 这成功了。谢谢!外积问题也很有帮助。
猜你喜欢
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
  • 2022-01-20
  • 2022-10-02
  • 1970-01-01
  • 1970-01-01
  • 2018-06-27
  • 2013-11-23
相关资源
最近更新 更多