Python 当字典中每个键有不同大小的列时,如何将熊猫打印到groupby

Python 当字典中每个键有不同大小的列时,如何将熊猫打印到groupby,python,list,pandas,dictionary,dataframe,Python,List,Pandas,Dictionary,Dataframe,我使用的列表如下所示: partlist = [ 'PART1', 'PART2','PART3', 'PART4', 'PART5', 'PART6' ] {'hostname1': ['MODEL', 'PART1'], 'hostname2': ['MODEL', 'PART1']} 然后分析数千个文件,寻找具有这些部件的设备。我可能会得到一本这样的字典: partlist = [ 'PART1', 'PART2','PART3', 'PART4', 'PART5', 'PART6'

我使用的列表如下所示:

partlist = [ 'PART1', 'PART2','PART3', 'PART4', 'PART5', 'PART6' ]
{'hostname1': ['MODEL', 'PART1'], 'hostname2': ['MODEL', 'PART1']}
然后分析数千个文件,寻找具有这些部件的设备。我可能会得到一本这样的字典:

partlist = [ 'PART1', 'PART2','PART3', 'PART4', 'PART5', 'PART6' ]
{'hostname1': ['MODEL', 'PART1'], 'hostname2': ['MODEL', 'PART1']}
或:

我的for循环以以下内容结束:

(path,file) = os.path.split(device)
create_dictionary()
允许我使用文件名作为与设备主机名匹配的密钥创建字典(我能想到的保持密钥唯一的最简单方法,并允许脚本中的其他功能)

然后我打电话要用熊猫打印

def print_sorted():
    df = pd.DataFrame.from_dict(mydict,'index')
    df.columns=['model', 'part']
    print(df.groupby(['model','part']).size())
但是,如果设备的型号超过了型号,并且我的partslist中146个部件中只有“一个”,那么这个pandas调用将退出,并放弃关于轴的长度错误,因为我的字典中每个键有2个以上的值

是否有人知道如何使它允许列/groupby中有任意数量的值,并且知道第一个值始终是设备的模型,之后的任何值都将成为一部分


提前感谢你的帮助。数周来,我一直在浏览SO和随机python/pandas网站。你说的“如果一台设备的型号不止一个,而且只有146个部件中的一个部件……”是什么意思?你能举例说明会产生错误的输入类型吗?这里几乎有足够的信息试图在本地重现这个问题,这有助于您得到答案……您希望脚本的输出是什么样子的?您是否可以在问题中添加一个示例数据框,说明“第一个值始终是设备的型号,之后的任何值都将成为设备的一部分”?