python - 从嵌套字典创建一个 Tall 格式的数据框

标签 python pandas dataframe dictionary

<分区>

您好,我有一本字典,如图所示(复制示例)。我想将它转换成一个高大的 DataFrame

示例字典:

{'Jill': {'Avenger: Age of Ultron': 7.0,
         'Django Unchained': 6.5,
         'Gone Girl': 9.0,
         'Kill the Messenger': 8.0},
 'Toby': {'Avenger: Age of Ultron': 8.5,
          'Django Unchained': 9.0,
          'Zoolander': 2.0}}

预期的 tall 数据框如下所示:

   Column1        Column2              Column3
    Jill     Avenger: Age of Ultron      7.0
    Jill     Django Unchained            6.5
    Jill     Gone Girl                   9.0
    Jill     Kill the Messenger          8.0
    Toby     Avenger: Age of Ultron      8.5
    Toby     Django Unchained            9.0
    Toby     Zoolander                   2.0

我尝试了下面的方法,它给了我字典的主键作为第一列,但无法将其作为高数据框:

pd.DataFrame.from_dict(d, orient='index')

最佳答案

d = {'Jill': {'Avenger: Age of Ultron': 7.0,
                            'Django Unchained': 6.5,
                            'Gone Girl': 9.0,
                            'Kill the Messenger': 8.0},
'Toby': {'Avenger: Age of Ultron': 8.5,
                                'Django Unchained': 9.0,
                                'Zoolander': 2.0}}

df = pd.DataFrame.from_dict(d).reset_index()
df = pd.melt(df, id_vars=["index"], 
                  var_name="By", value_name="Score").dropna()

关于python - 从嵌套字典创建一个 Tall 格式的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55151867/

相关文章:

python - 错误: 'str' object has no attribute 'shape' while trying to covert datetime in a dataframe

python - 删除 Pandas 列名称中的小数

python - Django - 模型中的 ManyToManyField,将其设置为空?

python - 用于解析 SDDL 的正则表达式

Python - 使用元组作为列表索引

python - 如何从 Pandas 数据框列的填充程度中获取百分比?

python - 带线程的基本Mapreduce比顺序版本慢

pandas - 将 sqlalchemy ORM 查询对象转换为 Pandas DataFrame 的 sql 查询

python - 填充 pandas 数据框中的缺失值

python - pandas groupby.agg() 采用分类变量的模式,其中 NaN 是组的唯一变量