Pandas模块提供了处理数据、数据分析的各种功能。Pandas主要有两种数据结构:Series和DataFrame。本文将介绍一下将一个或者多个列表(list)转化成数据框(DataFrame)的方法。
![4dd58b398661f0940048771b2617ecd7.png](https://i-blog.csdnimg.cn/blog_migrate/bc6ef6aa4008f98b6ed3de1a55c597c8.jpeg)
Pandas DataFrame是一种表格式的数据结构。data、index、columns、dtype、copy都是它的参数。其具体含义这里就不展开了,读者朋友可自行查找。
pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)
![e5c4d1358d4b248ad8dbe73d29dbe70c.png](https://i-blog.csdnimg.cn/blog_migrate/4c8e253251f79c03929ca3920c6133fb.jpeg)
- 将列表的列表转化成数据框
假设我们如下的列表的列表:
import pandas as pd# List of listsstudents = [ ['小王', 34, '北京'] ,['小李', 30, '上海' ] ,['小张', 16, '广州'] ]print(students)[['小王', 34, '北京'], ['小李', 30, '上海'], ['小张', 16, '广州']]df = pd.DataFrame(students) 0 1 20 小王 34 北京1 小李 30 上海2 小张 16 广州
![e27a817088b2398a43f7cebd49117381.png](https://i-blog.csdnimg.cn/blog_migrate/3c39b934e59784c9558aacc6a6e86037.jpeg)
- 将元组的列表转化成数据框
与列表的列表的转化方式和结果类似:
students = [ ('小王', 34, '北京') ,('小李', 30, '上海') ,('小张', 16, '广州') ]df = pd.DataFrame(students) 0 1 20 小王 34 北京1 小李 30 上海2 小张 16 广州
- 设置列名和索引
df = pd.DataFrame(students, columns = ['姓名' , '年龄', '城市'], index=['a', 'b', 'c']) Out[13]: 姓名 年龄 城市a 小王 34 北京b 小李 30 上海c 小张 16 广州
- 多个列表转化成数据框
listofNames = ['小王', '小李', '小张']listofAge = [34, 30, 16]listofCity = ['北京', '上海', '广州']
使用zip函数将三个列表转化为元组组成的列表。
zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。
zippedList = list(zip(listofNames, listofAge, listofCity))Out[18]: [('小王', 34, '北京'), ('小李', 30, '上海'), ('小张', 16, '广州')]
将上边的结果作为data参数的内容传到数据框中:
df = pd.DataFrame(zippedList, columns = ['姓名' , '年龄', '城市'], index=['a', 'b', 'c']) Out[21]: 姓名 年龄 城市a 小王 34 北京b 小李 30 上海c 小张 16 广州