我有一个数据仓库(my_data :),如下所示:
my_data:
0 ... 16
TB1 [1, 5, 24, 1] ... [0, 0, 0, 31]
TB2 [7, 4, 13, 1] ... [0, 0, 0, 25]
TB3 [7, 6, 20, 0] ... [7, 4, 2, 20]
... ....... ... ........
可以看出,每列中都有一个数字列表,总共my_data中有16列包含数字列表。现在,我要提取这些列表并将其用作常规列。所以我想要的my_data应该是这样的:
my_data:
0 1 2 3 ... 60 61 62
TB1 1, 5, 24, 1 ... 0, 0, 31
TB2 7, 4, 13, 1 ... 0, 0, 25
TB3 7, 6, 20, 0 ... 4, 2, 20
... ....... ... ........
有什么主意吗?
答案 0 :(得分:2)
使用malloc
将DataFrame转换为2d数组,并通过构造函数创建新的reshape
:
DataFrame
答案 1 :(得分:2)
一种简单的方法是沿1
轴sum
并构造一个新的数据框:
pd.DataFrame(df.sum(1).values.tolist(), index=df.index)
0 1 2 3 4 5 6 7
TB1 1 5 24 1 0 0 0 31
TB2 7 4 13 1 0 0 0 25
...