我有一个非常大的系列叫做s,我想把它变成一个矩阵。该系列重复 - 所以我希望每组唯一值都是一行。这是一个例子,s =
weights
10
5
15
6
10
5
15
6
10
5
15
6
我想得到这个矩阵:
[10, 5, 15, 6,
10, 5, 15, 6,
10, 5, 15, 6]
当我使用.as_matrix()时,我得到了错误的形状。 I.E.
weights.as_matrix()
> [10, 5, 15, 6, 10, 5, 15, 6, 10, 5, 15, 6,]
具有形状(12,)
对于一个很长的系列(我不知道每行的确切形状应该有4个),我怎样才能在上面的例子中实现矩阵?
答案 0 :(得分:3)
使用reshape()
:
In [143]: df.as_matrix().reshape(-1,4)
Out[143]:
array([[10, 5, 15, 6],
[10, 5, 15, 6],
[10, 5, 15, 6]], dtype=int64)
答案 1 :(得分:1)
这与@chrisz答案非常相似,但使用ser.values
代替.as_matrix()
来更清楚地了解发生了什么。
ser = pd.Series([10, 5, 15, 6, 10, 5, 15, 6, 10, 5, 15, 6])
ser.values.reshape((-1, 4))
输出:
[[10 5 15 6]
[10 5 15 6]
[10 5 15 6]]