将几行合并在一起并将其转换为numpy数组



我已经得到了一个解析过的。csv文件(我已经通过使用pd.read_file完成了这一点)。这是csv文件:

Id A B C
1  7 6 5
1  4 3 2
2  1 0 0

是否可以将其转换为(在numpy数组中):

[
[[7,6,5],[4,3,2]],
[[1,0,0],[0,0,0]]
]

首先用DataFrame.unstackSeries.stack添加GroupBy.cumcount缺失的行,然后转换为嵌套列表:

L = (df.set_index(['Id', df.groupby('Id').cumcount()])
.unstack(fill_value=0)
.stack()
.groupby('Id')
.apply(lambda x: x.to_numpy().tolist())
.tolist()
)
print (L)
[[[7, 6, 5], [4, 3, 2]], [[1, 0, 0], [0, 0, 0]]]

相关内容

  • 没有找到相关文章