从数据框创建字典,以索引为键

5 投票
1 回答
6250 浏览
提问于 2025-04-18 18:12

df.to_dict() 这个命令会生成一个嵌套的字典,字典的键是表头,格式是 {列名:{行号:值}}

有没有简单的方法可以创建一个字典,让行号作为键,格式变成 {行号:列名:值}?或者甚至是 {行号:(列名,值)}

我可以先创建这个字典,然后再把它反转过来,但我在想,是否可以一步到位完成这个操作。

1 个回答

6

在使用 df.to_dict 之前,先把数据表(dataframe)转置一下。

df = pd.DataFrame({'a': [1, 3, 5], 'b': [2, 7, 5]})

print(df)
#    a  b
# 0  1  2
# 1  3  7
# 2  5  5

print(df.transpose().to_dict())
# {0: {'a': 1, 'b': 2}, 
#  1: {'a': 3, 'b': 7}, 
#  2: {'a': 5, 'b': 5}}

撰写回答