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

时间:2014-10-23 20:55:11

标签: numpy pandas series

我发现很难将pandas系列大小M转换为矩形/小块数组/大小为N的数据框的每个大小为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(评估箱)的大小?

1 个答案:

答案 0 :(得分:2)

您可以np.vstack使用

sArray = np.vstack(s)

但在你的情况下你的Series是(9,100)。如果你想要它(10,100)你需要改变线。

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,)})

不确定你想在那里做什么。

干杯