我有一個(gè)數(shù)據(jù)框和兩個(gè)大小不同的數(shù)組,我想創(chuàng)建一個(gè)數(shù)據(jù)框例如import pandasimport 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])我想獲得一個(gè)單一的數(shù)據(jù)幀,如: 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
1 回答

慕田峪4524236
TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
首先是按數(shù)組的最大長(zhǎng)度在第一個(gè) DataFrame 中重復(fù)數(shù)組,然后為每個(gè)數(shù)組創(chuàng)建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
添加回答
舉報(bào)
0/150
提交
取消