擅长:python、mysql、java
<p>使用相同的解决方案,首先创建空数据帧。然后使用alter_list seq by seq更新df</p>
<pre><code>alter_list = [
{'equipment': 'equipment1', 'condition1': True},
{'equipment': 'equipment1', 'condition2': True},
{'equipment': 'equipment1', 'condition3': False},
{'equipment': 'equipment2', 'condition1': True},
{'equipment': 'equipment2', 'condition2': False},
{'equipment': 'equipment3', 'condition2': False},]
# alter_list
df = pd.DataFrame(columns=['condition1', 'condition2', 'condition3'],
index=['equipment1', 'equipment2', 'equipment3'])
for alter in alter_list:
equipment = alter.pop('equipment')
for condition,v in alter.items():
print(equipment, condition, v)
df.loc[equipment, condition] = v
</code></pre>
<hr/>
<p>结果:</p>
<pre><code>print(df.fillna(''))
condition1 condition2 condition3
equipment1 True True False
equipment2 True False
equipment3 False
</code></pre>