У меня есть серия pandas и функция, которая принимает значение в серии и возвращает dataframe. Есть ли способ применить функцию к серии и естественным образом сопоставить результаты?Сопоставьте каждое значение в серии pandas/dataframe с n> 1 измерениями
Я действительно пытаюсь использовать pandas series/multiindex, чтобы отслеживать результаты на каждом этапе моего анализа данных, где multiindex содержит параметры, используемые для получения значений. Например, серия (s ниже) является результатом этапа 0 в моем конвейере анализа данных. На шаге 1 я хочу попробовать еще несколько измерений (2 ниже, таким образом, dataframe) и сопоставить результаты в другой серии.
Можем ли мы работать лучше, чем ниже? Где звонки 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