我有以下数据框:
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矩阵。
(3X10的例子)
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
我需要这个但是对于列的每个元素而言是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 :(得分:2)
一切都是
np.dstack([df.values.astype(int)] * 32)
您甚至可以将其转换为具有匹配索引的系列
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,