0

我有一个熊猫系列,以及一个在系列中取值并返回数据框的函数。有没有办法将函数应用于系列并以自然的方式整理结果?

我真正想做的是使用 pandas series/multiindex 来跟踪我的数据分析管道的每个步骤中的结果,其中 multiindex 保存用于获取值的参数。例如,系列(s below)是我的数据分析管道中第 0 步的结果。在第 1 步中,我想尝试 x 更多维度(以下 2 个,因此是数据框)并将结果整理到另一个系列中。

我们能比下面做得更好吗?哪里stack()来电似乎有点过分。xarray 库是否适合我的用例?

In [112]: s
Out[112]:

a    0
b    1
c    2
dtype: int64

In [113]: d = s.apply(lambda x: pd.DataFrame([[x,x*2],[x*3,x*4]]).stack()).stack().stack()

In [114]: d
Out[114]:

a  0  0    0
      1    0
   1  0    0
      1    0
b  0  0    1
      1    3
   1  0    2
      1    4
c  0  0    2
      1    6
   1  0    4
      1    8
dtype: int64
4

1 回答 1

0

这应该给你一个DataSet二维数组,并为你对齐它们。如果您希望它们以某种方式命名/具有某种大小,您可能需要先设置尺寸。

xr.Dataset(k: func(v) for k, v in series.items())

于 2016-12-12T03:48:50.767 回答