python_day11_practice
发布人:shili8
发布时间:2025-01-30 21:15
阅读次数:0
**Python实践日志 - 第11天**
###1. 概述今天我们将学习如何使用Python进行数据分析。我们将使用Pandas库来处理和操作数据。
###2. Pandas库介绍Pandas是Python中最流行的数据分析库之一。它提供了高效、易用的数据结构和操作方法,适合大规模数据的处理和分析。
####2.1 Series类Series类是Pandas中的基本数据结构,它类似于一个一维数组或列表,但比列表更强大,因为它支持更多的功能,如索引、值类型等。
import pandas as pd# 创建一个Series对象s = pd.Series([1,2,3,4,5], index=['a', 'b', 'c', 'd', 'e']) print(s)
输出:
a1b2c3d4e5dtype: int64
####2.2 DataFrame类DataFrame类是Pandas中的二维数据结构,它类似于一个表格或矩阵,但比表格更强大,因为它支持更多的功能,如索引、值类型等。
import pandas as pd# 创建一个DataFrame对象data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25,30,35], 'Score': [90,80,70]} df = pd.DataFrame(data) print(df)
输出:
Name Age Score0 Alice25901 Bob30802 Charlie3570
###3. 数据操作####3.1 行列索引Pandas提供了行列索引的功能,使得我们可以轻松地访问和操作数据。
import pandas as pd# 创建一个DataFrame对象data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25,30,35], 'Score': [90,80,70]} df = pd.DataFrame(data) print(df.loc[0]) # 访问第一行数据print(df.iloc[1]) # 访问第二行数据print(df['Name']) # 访问'Name'列数据
输出:
Name AliceAge25Score90dtype: objectName BobAge30Score80dtype: object0 Alice1 Bob2 CharlieName: Name, dtype: object
####3.2 数据筛选Pandas提供了多种数据筛选的方法,使得我们可以轻松地过滤出满足特定条件的数据。
import pandas as pd# 创建一个DataFrame对象data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25,30,35], 'Score': [90,80,70]} df = pd.DataFrame(data) print(df[df['Age'] >30]) # 筛选年龄大于30的数据
输出:
Name Age Score1 Bob30802 Charlie3570
####3.3 数据排序Pandas提供了多种数据排序的方法,使得我们可以轻松地按特定条件对数据进行排序。
import pandas as pd# 创建一个DataFrame对象data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25,30,35], 'Score': [90,80,70]} df = pd.DataFrame(data) print(df.sort_values(by='Age')) # 按年龄排序
输出:
Name Age Score0 Alice25901 Bob30802 Charlie3570
###4. 总结今天我们学习了如何使用Pandas库进行数据分析。我们了解了Series类和DataFrame类的基本概念,学会了如何使用行列索引、数据筛选和排序等功能来操作数据。
###5. 练习题目1. 创建一个Series对象,包含以下数据:['A', 'B', 'C', 'D', 'E']。
2. 创建一个DataFrame对象,包含以下数据:
* 名称:['Alice', 'Bob', 'Charlie']
* 年龄:[25,30,35]
* 分数:[90,80,70]
3. 使用行列索引访问第一行和第二行的数据。
4. 使用筛选功能过滤出年龄大于30的数据。
5. 使用排序功能按年龄对数据进行排序。
###6. 参考答案1.
import pandas as pds = pd.Series(['A', 'B', 'C', 'D', 'E']) print(s)
输出:
0 A1 B2 C3 D4 Edtype: object
2.
import pandas as pddata = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25,30,35], 'Score': [90,80,70]} df = pd.DataFrame(data) print(df)
输出:
Name Age Score0 Alice25901 Bob30802 Charlie3570
3.
import pandas as pddata = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25,30,35], 'Score': [90,80,70]} df = pd.DataFrame(data) print(df.loc[0]) # 访问第一行数据print(df.iloc[1]) # 访问第二行数据
输出:
Name AliceAge25Score90dtype: objectName BobAge30Score80dtype: object
4.
import pandas as pddata = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25,30,35], 'Score': [90,80,70]} df = pd.DataFrame(data) print(df[df['Age'] >30]) # 筛选年龄大于30的数据
输出:
Name Age Score1 Bob30802 Charlie3570
5.
import pandas as pddata = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25,30,35], 'Score': [90,80,70]} df = pd.DataFrame(data) print(df.sort_values(by='Age')) # 按年龄排序
输出:
Name Age Score0 Alice25901 Bob30802 Charlie3570