【问题标题】:how to convert pandas Series of Numpy object into a Numpy matrix?如何将 Pandas 系列的 Numpy 对象转换为 Numpy 矩阵?
【发布时间】:2014-12-19 15:58:14
【问题描述】:

我发现很难将大小为 M 的 pandas 系列转换为大小为 MxN 的矩阵/numpy 数组/数据帧,每个数组包含一个大小为 N 的 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(评估箱)的大小?

【问题讨论】:

    标签: numpy pandas series


    【解决方案1】:

    您可以为此使用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,)})
    

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

    干杯

    【讨论】:

      猜你喜欢
      • 2016-08-26
      • 2018-07-25
      • 2015-04-30
      • 2017-04-11
      • 1970-01-01
      • 2017-05-17
      • 2012-08-28
      • 2017-01-29
      • 1970-01-01
      相关资源
      最近更新 更多