将 Pandas DataFrame 转换为特定的字典格式

我有一个数据框:


Name   Fruit    Fruit-Low   Fruit-High

Joe    Apple     8.12       8.74

Joe    Pear      3.54       6.24

Jess   Orange    5.36       8.24

Jess   Apple     5.45       8.44

我正在尝试将数据框转换为特定的字典格式,例如:


dictionary = {Joe: {Apple: (8.12, 8.74), Pear: (3.54, 6.24)}, Jess: {Orange: (5.36, 8.24), Apple: (5.45, 8.44)}}

转换数据帧时指定此格式是否需要付费?我已经尝试了 to_dict() 命令,但在尝试时仍然无法引入所有行。


任何帮助将不胜感激!提前致谢。


墨色风雨
浏览 135回答 2
2回答

慕无忌1623718

我认为一个可能的解决方案是这样的,尽管我确信这不是可恶的方式。解决这个问题:def to_dict(df):    result = {}    for index, row in df.iterrows():        entry = result.get(row['Name'])        if entry == None:            entry = {}        entry[row['Fruit']] = (row['Fruit-Low'], row['Fruit-High'])    return result这假设每个水果的名称都是唯一的。如果这个假设是错误的,解决方案将覆盖以前的条目。

幕布斯7119047

也许这个Stack Overflow 线程可以提供帮助。你的主要方向应该是 DataFrame.to_dict文档
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python