Создать фрейм данных с фреймами данных разных размеров

У меня есть фрейм данных и два массива с разными размерами, и я хочу создать один фрейм данных

Например

import pandas
import numpy

 df = pandas.DataFrame(numpy.array([[0,0,1]]),columns = ['A', 'B', 'C'])
  V1=numpy.array([0,1,3,4])
  V2=numpy.array([2,3,5,8,11,12])

Я хочу получить один фрейм данных, например:

  A  B  C V1 V2
  0  0  1 0   2
  0  0  1 1   3
  0  0  1 3   5
  0  0  1 4   8   
  0  0  1 Nan 11
  0  0  1 Nan 12
stackoverflow.com/questions/18646076/…: проверить это
Rahul Agarwal 02.04.2019 15:23
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
340
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сначала необходимо повторить массив в первом DataFrame по максимальной длине массива, затем создать для каждого массива Series и соединить вместе concat:

a = [V1, V2]
n = max(map(len, a))
df1 = pd.DataFrame(np.array(np.repeat([[0,0,1]], n, axis=0)), columns = ['A', 'B', 'C'])
df = pd.concat([df1, pd.Series(V1, name='V1'), pd.Series(V2, name='V2')], axis=1)
print (df)
   A  B  C   V1  V2
0  0  0  1  0.0   2
1  0  0  1  1.0   3
2  0  0  1  3.0   5
3  0  0  1  4.0   8
4  0  0  1  NaN  11
5  0  0  1  NaN  12

Другие вопросы по теме