达令说
一种方法是首先使用将值加载为列表,然后将它们串联起来:DataFrame.from_dictd = {'x': {'1':[2,5,6],'2':[7,6]}, 'y': {'1':[0,4,8],'2':[8,1]}, 'z': {'1':[8,0,9],'2':[2,2]}}df = pd.DataFrame.from_dict(d, orient="index")df2 = pd.concat([pd.DataFrame(df[i].values.tolist(), columns=[f"{i}_{num}" for num in range(len(df[i].iat[0]))] ) for i in df.columns],axis=1)print (df2) 1_0 1_1 1_2 2_0 2_10 2 5 6 7 61 0 4 8 8 12 8 0 9 2 2或者,首先使用 来平展列表:chain.from_iterablefrom itertools import chainprint (pd.DataFrame([chain.from_iterable(i.values()) for i in d.values()], index=d.keys(), columns=[f"{k}_{num}" for k, v in list(d.values())[0].items() for num in range(len(v))])) 1_0 1_1 1_2 2_0 2_1x 2 5 6 7 6y 0 4 8 8 1z 8 0 9 2 2