如何将Numpy对象系列转换为Numpy矩阵?

如何将Numpy对象系列转换为Numpy矩阵?,numpy,pandas,series,Numpy,Pandas,Series,我发现很难将大小M的熊猫系列(每个系列包含一个大小N的numpy数组)转换为大小MxN的矩阵/numpy数组/数据帧 例如: import pandas as pd import numpy as np from scipy import stats d = pd.DataFrame({'grp': np.random.randint(1, 10, 1000), 'x':np.random.rand(1000,)}) s = d.groupby('grp')['x'].apply(lambda

我发现很难将大小
M
的熊猫系列(每个系列包含一个大小
N
的numpy数组)转换为大小
MxN
的矩阵/numpy数组/数据帧

例如:

import pandas as pd
import numpy as np
from scipy import stats
d = pd.DataFrame({'grp': np.random.randint(1, 10, 1000), 'x':np.random.rand(1000,)})
s = d.groupby('grp')['x'].apply(lambda x: stats.gaussian_kde(x.values, bw_method = .01).evaluate(np.linspace(0,1,100)))
我得到的输出是Series类型,其中条目的类型是numpy.ndarray。
如何将其转换为10(组)乘以100(评估箱)的大小?

您可以使用
np.vstack

sArray = np.vstack(s)
但在您的情况下,您的
系列是(9100)。如果你想达到(10100),你需要改变线路

d = pd.DataFrame({'grp': np.random.randint(1, 10, 1000), 'x':np.random.rand(1000,)})

不知道你想在那里做什么

干杯

d = pd.DataFrame({'grp': np.random.randint(0, 10, 1000), 'x':np.random.rand(1000,)})
d = pd.DataFrame({'grp': np.random.randint(1, 11, 1000), 'x':np.random.rand(1000,)})