根据字典创建熊猫数据框

时间:2019-07-01 16:03:06

标签: pandas dataframe dictionary

我需要从不同的字典创建一个熊猫数据框,其中键必须充当数据框内的列名。如果数据框没有将键列为一列,则它必须动态创建它并作为新列附加到数据框。

我希望输入为

1st dict-> {'mse': 0.04, 'accuracy': 0.91, 'mean':0.75}

2nd dict-> {'mse': 0.04, 'accuracy': 0.91}

3rd dict-> {'mse': 0.04, 'accuracy': 0.91, 'f1-score':0.95}

输出应该是

循环的第一个迭代,它将键作为数据帧的列名,并创建不存在值作为第一行的数据帧。

第二次迭代检查键是否在数据框中显示为列,如果已经存在则插入,否则创建一列并将值插入为第二行。

我完全不知道如何在python中动态运行循环。谁能帮我解决这个问题?预先感谢!

1 个答案:

答案 0 :(得分:2)

这是文档from_records

import pandas as pd

dict = {'mse': 0.04, 'accuracy': 0.91, 'mean':0.75}
dict2 =  {'mse': 0.04, 'accuracy': 0.91}
dict3 = {'mse': 0.04, 'accuracy': 0.91, 'f1-score':0.95}

mydicts = [dict, dict2, dict3]


df = pd.DataFrame.from_records(mydicts).fillna(0)
print(df)

或者只是在评论中说

pd.DataFrame(mydicts)