python正在分解包含数组的多个变长数据帧列
我有一个数据帧,每列包含一个数组,我需要将它分解为每列多行。数组嵌套(两次)且长度可变(每个数组中包含6-12个数组) 我试着两者中的任何一个python正在分解包含数组的多个变长数据帧列,python,pandas,Python,Pandas,我有一个数据帧,每列包含一个数组,我需要将它分解为每列多行。数组嵌套(两次)且长度可变(每个数组中包含6-12个数组) 我试着两者中的任何一个 分解每个嵌套数组或数组的顶层 爆炸一切,并有一个多索引 示例数据: 我尝试了这里的各种方法,因此使用内置的explode函数,无法生成任何符合我的示例df的内容: df = pd.DataFrame({"k_6_cluster":[[[1,2,3],[4,5,6],[7,8,9]],[[1,2,3],[4,5,6],[7,8,9
- 分解每个嵌套数组或数组的顶层
- 爆炸一切,并有一个多索引
df = pd.DataFrame({"k_6_cluster":[[[1,2,3],[4,5,6],[7,8,9]],[[1,2,3],[4,5,6],[7,8,9]]],"k_7_cluster":[[[10,20,30],[40,50,60],[70,80,90]],[[10,20,30],[40,50,60],[70,80,90]]]
print(df)
k_6_cluster k_7_cluster
0 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] [[10, 20, 30], [40, 50, 60], [70, 80, 90]]
1 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] [[10, 20, 30], [40, 50, 60], [70, 80, 90]]
以下代码行将分解每个嵌套数组的顶层
list_cols = df.columns
exploded = [df[col].explode() for col in list_cols]
out_df = pd.DataFrame(dict(zip(list_cols, exploded)))
print(out_df)
k_6_cluster k_7_cluster
0 [1, 2, 3] [10, 20, 30]
0 [4, 5, 6] [40, 50, 60]
0 [7, 8, 9] [70, 80, 90]
1 [1, 2, 3] [10, 20, 30]
1 [4, 5, 6] [40, 50, 60]
1 [7, 8, 9] [70, 80, 90]
请提供一些文本样本数据和预期的输出布局。您好,首先谢谢。但这似乎不起作用,error:ValueError:无法从重复轴重新编制索引。这可能是因为阵列的大小不同吗?您是否尝试过我的示例df?是的,这很有效。但所有数组的大小都相同。如果要将第四个列表添加到k_7_集群阵列中作为[100110120],那么它将失败。