2017-08-16 14 views
1

は、私は、次のデータフレームいる:は、マトリックスにデータフレームの列を変換する - Pythonのパンダ

Pclass Sex  Fare Embarked Title Family 
    3   0 1.0  0   0  1 
    1   1 2.0  1   3  1 
    3   1 1.0  1   2  0 
    1   1 2.0  3   3  1 
    3   0 2.0  1   1  0 

を私はそれぞれの行を取り、6X32行列にそれを有効にする必要があります。

3,3,3,3,3,3,3,3,3,3 
0,0,0,0,0,0,0,0,0,0 
1,1,1,1,1,1,1,1,1,1 

(例3X10の)

私はそれを必要とするが、すべての列の要素と32倍の代わりに、10

私のコードのために:私は

from itertools import repeat 
array = [] 
for i in range(0,len(datos)): 
    rows = datos.iloc[i,:] 
    for j in range(0,len(rows)): 
     array.append([rows[j]]*10) 

各行を一意の配列に分割する方法を理解していない。

最初の行の
+0

少なくとも、あなたがすでに試したことをお知らせください。誰かがあなたのためにそれをすることを期待するだけではありません。 – BikerDude

+1

あなたは絶対に正しいです!ごめんなさい。 –

+0

'repeat()'の後に配列を再作成しようとします –

答えて

2

すべて

pd.Series(np.dstack([df.values.astype(int)] * 32).tolist(), df.index).apply(np.array) 

0 [[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,... 
1 [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,... 
2 [[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,... 
3 [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,... 
4 [[3, 3, 3, 3, 3, 
1

:全DFのための今

a = df.iloc[0].values.repeat(10).reshape(6,10) 


#out: array([[ 3., 3., 3., 3., 3., 3., 3., 3., 3., 3.], 
# [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], 
# [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.], 
# [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], 
# [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], 
# [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]]) 

:あなたもマッチング・インデックスと直列にそれを回すことができ、一度

np.dstack([df.values.astype(int)] * 32) 

for i in range(df.shape[1] -1): 
    a = df.iloc[i].values.repeat(10).reshape(6,10) 
    # ... 
関連する問題