当使用Python进行数据分析、数据清理等任务时,如果需要将数据存储到表格中,常见的方法是使用表格类库如pandas或上一代的numpy.records等来完成。
下面将介绍在Python中创建表格的两种方法。
方法一:使用numpy.records库创建表格
numpy.records库是一种类似于Python标准库中的namedtuple和collections.namedtuple工具的数据结构,用于创建结构化的ndarray对象,可以被用作类似于表格的数据结构。
示例代码:
import numpy as np
# 创建一个由三个字段(列)组成的dtype
dt = np.dtype([('name', np.unicode_, 16), ('age', 'i4'), ('score', 'f8')])
# 创建一个记录数组,shape为3,每个元素都是一个符合上面创建的dtype的记录
arr = np.zeros(3, dtype=dt)
# 将数据赋值给记录数组
arr['name'] = ['Bob', 'Alice', 'John']
arr['age'] = [23, 28, 33]
arr['score'] = [85.3, 91.2, 79.5]
# 打印记录数组
print(arr)
输出结果为:
[(u'Bob', 23, 85.3) (u'Alice', 28, 91.2) (u'John', 33, 79.5)]
在示例代码中,首先使用np.dtype创建一个dtype对象,用于定义表格中的每一列的属性(名字、数据类型)。然后,使用np.zeros创建一个记录数组,指定数组的形状为(3,)即三条记录,每一条记录的字段类型为我们定义的dtype对象。最后,可以通过与上例中相同的方法将数据赋值给记录数组,即通过字段名进行切片操作,最后打印记录数组。
方法二:使用pandas库创建表格
pandas库是用于数据分析以及数据处理的Python库。pandas库的核心是DataFrame数据结构, 它是一个二维带标记的数据结构,每一列(也就是数据表格中的属性)可以是不同的数据类型,所以就类似于数据库中的表格,适用于更加方便的数据分析和数据处理。
示例代码:
import pandas as pd
# 创建一个由三个字段(列)组成的字典
data = {'name': ['Bob', 'Alice', 'John'],
'age': [23, 28, 33],
'score': [85.3, 91.2, 79.5]}
# 将字典转化成DataFrame对象
df = pd.DataFrame(data)
# 打印DataFrame对象
print(df)
输出结果为:
name age score
0 Bob 23 85.3
1 Alice 28 91.2
2 John 33 79.5
在示例代码中,首先创建了一个由三个字段(列)组成的字典对象,然后将字典对象转化成DataFrame对象。最后打印DataFrame对象。
以上就是Python创建表格的两种方法实例,分别使用了numpy.records和pandas库来实现。