我有以下数组:
['preprocessed\\AB_30624_badchannels.set', {'E88', 'E91', 'E248', 'E139', 'E245', 'E216', 'E111'}, 'preprocessed\\ACM_98630_badchannels.set', {'E88', 'E186', 'E91', 'E139', 'E102', 'E216', 'E111', 'E238'}, 'preprocessed\\AL_96705_badchannels.set', {'E88', 'E37', 'E91'}]
您能告诉我如何创建一个数据帧,其中列名是文件名,没有路径和扩展名(即预处理\AB_30624_badchannels.set->;AB_30624_badchannels),行是相应字典中包含的通道列表(即“E88”、“E91”、“E248”、“E139”、“E245”、“E216”、“E111”fro AB_30624)
所需的输出如下所示:
AB_30624 | ACM_98630 | AL_96705|
E88 |E88 |E88
E91 |E37 |E37
E248 |E91 |E91
E139 |E73
E245 |E232
E216 |E256
E111 |E139
|E235
|E216
|E46
谢谢你的帮助
由于我不清楚请求的df结构,您可以在下面找到2个选项
选项1正在从文件名和频道列表创建一行
选项2从文件名创建一行,每个通道都是通道集
更新
选项3(自OP添加请求输出的描述后创建)
产出(1)
产出(2)
产出(3)
我的解决方案有点残酷:
在我看来,数据帧不是存储不同大小信息的正确格式。这里推荐一个dict
你有几个问题要处理。第一个是列表在名称字符串和一组值之间交替。一个将这种交替转换成成对的快速生成器修复了这个问题。可以使用正则表达式将数据中的名称转换为所需的列名。您的值有不同的长度,因为它们是集合,所以它们的顺序是随机的。我们可以将它们转换为命名系列,但无法解决顺序问题。最后,连接该系列,就得到了数据帧
相关问题 更多 >
编程相关推荐