将Pandas数据框转换为列表字典的方法

将Pandas数据框转换为列表字典的方法

在本文中,我们将介绍如何将Pandas数据框转换为字典列表。我们将使用Pandas中的to_dict方法和DataFrame的apply方法。

阅读更多:Pandas 教程

1. to_dict方法

Pandas的to_dict方法可以将数据框转换为字典。to_dict方法可以处理不同的参数来控制输出格式。to_dict方法的语法如下:

DataFrame.to_dict(self, orient='dict', into=<class 'dict'>)
Python

其中orient参数可以设置输出格式,into参数可以设置输出字典的类型。orient参数可以接受以下值:

  • ‘dict’ (default):输出格式为{列名:{行值:单元格值}}的字典。
  • ‘list’:输出格式为[{列名1:单元格值1, 列名2:单元格值2, …}, …]的列表。
  • ‘series’:输出格式为{列名: Series(行值: 单元格值, …), …}的字典。
  • ‘split’:输出格式为{‘index’: [行值列表], ‘columns’: [列名列表], ‘data’: [数据值列表]}。
  • ‘records’:输出格式为[{列名1:单元格值1, 列名2:单元格值2, …}, …]的列表,类似于JSON。

以下是一个例子,我们将使用to_dict方法,并将orient参数设置为’list’,into参数设置为默认的dict类型:

import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
dict_list = df.to_dict(orient='list', into=dict)
print(dict_list)
Python

输出结果为:

{'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}
Python

2. apply方法

Pandas的apply方法可以让我们对数据框的每个单元格应用一个函数。apply方法的语法如下:

DataFrame.apply(func, axis=0, raw=False, result_type=None, args=(), **kwds)
Python

其中func参数是一个应用于单元格的函数,axis参数控制应用的方向,raw参数控制应用的格式,result_type参数控制输出格式。

以下是一个例子,我们将使用apply方法并将一个lambda函数应用于每个单元格,然后将结果存储为列表字典:

import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
dict_list = df.apply(lambda x: {'name': x[0], 'age': x[1]}, axis=1, result_type='expand').to_dict(orient='list')
print(dict_list)
Python

输出结果为:

{'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}
Python

总结

以上是将Pandas数据框转换为字典列表的两种方法:使用to_dict方法和apply方法。to_dict方法提供了多种输出格式,apply方法则可以让我们对单元格应用更多的函数并控制输出格式。选择哪种方法取决于数据框的形状和需要的输出格式。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册