简单的编程|pandas之DataFrame与Dict的相互转换

在使用pandas进行数据分析的时候,大多数情况下可以用read_csv、read_excel等函数读取数据。但是,有时候,我们面对的是字典形式的数据结构。在这种情况下,需要用到DataFrame与Dict之间的相互转换。
一、Dict转换为DataFrame 1、面向行

sales = [{"Fruits":"apple","Numbers":5}, {"Fruits":"banana","Numbers":8}, {"Fruits":"pear","Numbers":9}] df = pd.DataFrame(sales)

在这种情形下,字典键被用作columns,索引index被自动生成。
Fruits Numbers
0 apple 5
1 banana 8
2 pear 9
2、面向列
sales = {"Fruits":["apple","banana","pear"], "Numbers":[5,8,9]} df = pd.DataFrame.from_dict(sales)

【简单的编程|pandas之DataFrame与Dict的相互转换】使用此种方法得到的结果与上述上述结果相同。
二、DataFrame转换为Dict DataFrame转换为Dict主要用到to_dict(orient)函数。参数orient的值可以取dict、list、series、split、records、index等。这里我们主要讲解list、records两个参数值。假设DataFrame数据结构df如下:
Fruits Numbers
0 apple 5
1 banana 8
2 pear 9
1、参数为list
df.to_dict(orient='list')

得到的字典为:
{'Fruits': ['apple', 'banana', 'pear'], 'Numbers': [5, 8, 9]}

2、参数为records
df.to_dict(orient='records')

得到的字典为
[{'Fruits': 'apple', 'Numbers': 5},
{'Fruits': 'banana', 'Numbers': 8},
{'Fruits': 'pear', 'Numbers': 9}]

    推荐阅读