<p>您可以简单地循环:</p>
<pre><code>rawdata= {'id':['json','molly','tina','jake','molly'],
'entity':['present','absent','absent','present','present'],
'entity2':['present','present','present','absent','absent'],
'entity3':['absent','absent','absent','present','absent']}
df= pd.DataFrame(rawdata)
df.set_index('id')
ref_dict= {'entity':['entity_exp1'],
'entity2':['entity2_exp1','entity2_exp2'],
'entity3':['entity3_exp1','entity3_exp2','entity3_exp3']}
# here comes the new part:
df2 = pd.DataFrame()
for key, val in sorted(ref_dict.items()):
for subval in val:
df2[subval] = df[key]
df2['id'] = df['id']
df2.set_index('id', inplace=True)
print(df2)
entity_exp1 entity2_exp1 entity2_exp2 entity3_exp1 entity3_exp2 entity3_exp3
id
json present present present absent absent absent
molly absent present present absent absent absent
tina absent present present absent absent absent
jake present absent absent present present present
molly present absent absent absent absent absent
</code></pre>