使用不同大小的数据框创建一个数据框

我有一个数据框和两个大小不同的数组,我想创建一个数据框


例如


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


慕哥6287543
浏览 177回答 1
1回答

慕田峪4524236

首先是按数组的最大长度在第一个 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  V20  0  0  1  0.0   21  0  0  1  1.0   32  0  0  1  3.0   53  0  0  1  4.0   84  0  0  1  NaN  115  0  0  1  NaN  12
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python