Создайте pandas dataframe с различиями между двумя векторами неравной длины - PullRequest
1 голос
/ 11 ноября 2019

Мне кажется, что я упускаю что-то очевидное здесь.

У меня есть два вектора целых чисел различной длины (x и y). Я хотел бы создать фрейм данных pandas с x строками и y столбцами, где каждая ячейка содержит разницу между соответствующими элементами двух векторов.

Например, учитывая

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

v1 - v2

I 'Я хотел бы получить что-то вроде

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

Приведенный выше код использует numpy, но в конечном итоге я бы хотел сделать это с Pandas.

Заранее извиняюсь, если это дубликатили неясно. Я, честно говоря, не уверен, какие условия здесь искать.

1 Ответ

2 голосов
/ 11 ноября 2019

Чтобы сделать это в NumPy, просто добавьте ось к одному из векторов:

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

Затем вы можете преобразовать его в фрейм данных Pandas, в зависимости от ваших потребностей. Что касается панд, этот ответ о внешних продуктах (который является эквивалентной операцией для умножения вместо вычитания) может быть полезен для вас.

...