Python中的pandas库提供了DataFrame数据结构,可以用于数据分析和数据操作。DataFrame可以通过多种方式创建,其中之一是通过字典(dict)转换得到。本篇文章将详细讲解如何使用Python从narray/lists的dict创建DataFrame,包括如何设置列名、索引、数据类型等。
1. 实例说明
在开始讲解之前,先给出一个示例数据,以便后续使用。我们有两个字典,一个字典包含学生的姓名、年龄和成绩信息,另一个字典包含学生的性别信息。示例数据如下:
student_info = {
'name': ['小明', '小红', '小刚', '小李'],
'age': [20, 19, 18, 21],
'score': [80, 78, 92, 85]
}
student_gender = {
'gender': ['男', '女', '男', '男']
}
2. 从narray创建DataFrame
我们可以使用numpy库创建narray,然后将其转换成DataFrame。
例如,我们创建一个3x3的narray,每个元素的数据类型为int,然后通过列名和索引名创建DataFrame。
import numpy as np
import pandas as pd
# 创建一个3x3的narray,每个元素的数据类型为int
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 通过列名和索引名创建DataFrame
df = pd.DataFrame(data, columns=['A', 'B', 'C'], index=['a', 'b', 'c'])
print(df)
输出结果如下:
A B C
a 1 2 3
b 4 5 6
c 7 8 9
3. 从lists创建DataFrame
我们也可以使用Python的列表(lists)创建DataFrame。
以学生信息为例,我们将学生信息存储在两个列表中,然后创建DataFrame并设置列名和索引。
# 创建列表
names = ['小明', '小红', '小刚', '小李']
ages = [20, 19, 18, 21]
scores = [80, 78, 92, 85]
# 通过列表创建DataFrame
df = pd.DataFrame({'name': names, 'age': ages, 'score': scores}, index=[1, 2, 3, 4])
print(df)
输出结果如下:
name age score
1 小明 20 80
2 小红 19 78
3 小刚 18 92
4 小李 21 85
4. 从dict创建DataFrame
我们可以使用字典(dict)创建DataFrame。以学生信息为例,我们将学生信息存储在字典中,然后创建DataFrame并设置列名和索引。
# 创建字典
student_info = {
'name': ['小明', '小红', '小刚', '小李'],
'age': [20, 19, 18, 21],
'score': [80, 78, 92, 85]
}
# 通过字典创建DataFrame
df = pd.DataFrame(student_info, index=['a', 'b', 'c', 'd'])
print(df)
输出结果如下:
name age score
a 小明 20 80
b 小红 19 78
c 小刚 18 92
d 小李 21 85
若想要为新产生的DataFrame加上新增的列,可以先将新增列存放在列表(lists)中,然后通过字典(dict)的形式添加到原有的字典(dict)中,最后使用pd.DataFrame()方法生成DataFrame对象。例如,现在需要给学生信息添加性别列。
# 创建字典
student_gender = {
'gender': ['男', '女', '男', '男']
}
# 将字典和新增列的字典合并
merged_dict = dict(student_info, **student_gender)
# 通过字典创建DataFrame
df = pd.DataFrame(merged_dict, index=['a', 'b', 'c', 'd'])
print(df)
输出结果如下:
name age score gender
a 小明 20 80 男
b 小红 19 78 女
c 小刚 18 92 男
d 小李 21 85 男
5. 设置数据类型
我们可以使用dtype参数设置数据类型。
以学生信息为例,我们将学生信息存储在字典中,然后创建DataFrame并设置列名、索引和数据类型。
# 创建字典
student_info = {
'name': ['小明', '小红', '小刚', '小李'],
'age': [20, 19, 18, 21],
'score': [80, 78, 92, 85]
}
# 通过字典创建DataFrame,并设置数据类型
df = pd.DataFrame(student_info, index=['a', 'b', 'c', 'd'], dtype=float)
print(df)
输出结果如下:
name age score
a 小明 20.0 80.0
b 小红 19.0 78.0
c 小刚 18.0 92.0
d 小李 21.0 85.0
6. 总结
本篇文章对Python从narray/lists的dict创建DataFrame进行了详细的讲解。通过numpy、列表(lists)和字典(dict)三种方式,我们可以非常方便地创建DataFrame,并且可以设置列名、索引、数据类型等。在实际数据分析和数据操作中,DataFrame是十分常用的数据结构,掌握DataFrame的创建和操作技能对于Python数据科学领域的从业者来说至关重要。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 从 narray/lists 的 dict 创建 DataFrame - Python技术站