pandas 如何将panda Dataframe 中的每个元素从列表转换为系列?为了与MiniRocketMultivariateVariable sktime兼容

yftpprvb  于 2023-05-12  发布在  其他
关注(0)|答案(1)|浏览(93)

我有一个dataframe此数据框保存ts数据
每一列都是我的ts数据中的一个维度。每一行都包含一个单独的时间序列。我有的T恤长度不一样。

我希望我的dataframe中的每个元素都转换为一个系列。这意味着我仍然有相同数量的行和相同数量的列。然而,每个元素的类型都是数组,它将是pandas系列
另外请注意,我正试图将其更改为该结构,以便从sktime使用MiniRocketMultivariateVariable
我尝试使用apply方法但没有成功df = df.applymap(pd.Series)我还尝试使用pd.series通过创建另一列df['col_3'] = pd.Series(df['dim_1'])来更改它但是新列的元素仍然是列表类型
我想要的输出是具有相同数量的列和相同数量的行的dataframw。然而,每个元素都是一个pandas序列而不是一个列表,结构的示例如下:

vhmi4jdf

vhmi4jdf1#

像这样的吗

d = {'dim_1' : [[0,1,2,3,4.34,5,6], [0.234,1,2,3,4,5,7]], 'dim_2' : [[0,1.24,2,3,3,4,5], [0,1,2,3,4.67,5,6]]}
df_series = pd.DataFrame(d)

def test(series):
     a = " ".join(f"{i}" for i in series)
     return a
    
x = df_series.applymap(test)
df_series = x
df_series

输出:

dim_1               dim_2
0   0 1 2 3 4.34 5 6    0 1.24 2 3 3 4 5
1   0.234 1 2 3 4 5 7   0 1 2 3 4.67 5 6

相关问题