一、什么是Pandas DataFrame?
Pandas是一个基于NumPy的Python数据分析库,它包含多个数据结构,其中最主要的是DataFrame,它是一个表格型的数据结构,具有行和列的索引,可以看作是Excel或SQL中的一个表。DataFrame中的数据可以是数值、字符串或其他类型。
下面是一个示例代码,演示如何创建一个DataFrame:
import pandas as pd data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 35, 45, 55], 'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']} df = pd.DataFrame(data) print(df)
输出:
name age city 0 Alice 25 Beijing 1 Bob 35 Shanghai 2 Charlie 45 Guangzhou 3 David 55 Shenzhen
二、Pandas DataFrame转换成Python List的需求
在实际的开发中,我们可能需要将Pandas DataFrame转换成Python List,以方便进行一些操作。
例如,我们需要将一个DataFrame中的某一列提取出来,转换成列表,以方便进行其他处理,这时就需要将DataFrame转换成Python List。
下面是一个示例代码,演示如何将DataFrame的某一列转换成Python List:
import pandas as pd data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 35, 45, 55], 'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']} df = pd.DataFrame(data) name_list = df['name'].tolist() print(name_list)
输出:
['Alice', 'Bob', 'Charlie', 'David']
三、PandasToList实现代码
为了更方便地将Pandas DataFrame转换成Python List,我们可以写一个函数PandasToList,代码如下:
import pandas as pd from typing import List def PandasToList(df: pd.DataFrame) -> List[List]: return df.values.tolist()
这个函数可以将一个DataFrame转换成一个二维列表,每一行是一个列表,整个列表中包含所有行。
我们可以使用这个函数来将DataFrame转换成Python List,示例代码如下:
import pandas as pd data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 35, 45, 55], 'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']} df = pd.DataFrame(data) data_list = PandasToList(df) print(data_list)
输出:
[['Alice', 25, 'Beijing'], ['Bob', 35, 'Shanghai'], ['Charlie', 45, 'Guangzhou'], ['David', 55, 'Shenzhen']]
四、PandasToList函数的应用场景
PandasToList函数可以应用于多种场景,例如:
1、将DataFrame的某些列转换成Python List
我们可以使用PandasToList函数将DataFrame的某些列转换成Python List,以方便进行其他处理。
示例代码:
import pandas as pd data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 35, 45, 55], 'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']} df = pd.DataFrame(data) name_age_list = PandasToList(df[['name', 'age']]) print(name_age_list)
输出:
[['Alice', 25], ['Bob', 35], ['Charlie', 45], ['David', 55]]
2、将DataFrame的数据导入数据库
我们可以使用PandasToList函数将DataFrame转换成Python List,然后将数据插入到数据库中。
示例代码:
import pandas as pd import pymysql conn = pymysql.connect(host='localhost', user='root', password='root', database='test_db', charset='utf8') cursor = conn.cursor() data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 35, 45, 55], 'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']} df = pd.DataFrame(data) data_list = PandasToList(df) for row in data_list: sql = "insert into user (name, age, city) values ('%s', %d, '%s')" % (row[0], row[1], row[2]) cursor.execute(sql) conn.commit() conn.close()
这段代码将DataFrame转换成Python List,并将数据插入到了数据库中。
五、小结
本文介绍了Pandas DataFrame的基本概念,以及如何将DataFrame转换成Python List。我们还编写了一个PandasToList函数,方便进行转换操作。