引言
pandas
是一个强大的Python库,用于数据分析和数据处理。它基于NumPy,提供了灵活的数据结构(Series和DataFrame)和数据操作功能,是数据科学和机器学习中不可或缺的工具
文章目录
- 引言
- 一、安装`pandas`第三方库
- 二、`pandas`的定义
- 三、特点
- 3.1 强大的数据结构
- 3.2 灵活的数据操作
- 3.3 数据聚合和转换
- 3.4 数据清洗
- 3.5 数据可视化
- 3.6 集成性
- 四、功能
- 4.1 数据读取
- 4.2 数据操作
- 4.3 数据聚合和转换
- 4.4 数据清洗
- 4.5 数据可视化
- 4.6 集成性
- 五、使用场景
- 5.1 数据分析
- 5.2 数据处理
- 5.3 数据可视化
- 5.4 机器学习
- 5.5 报告和文档
- 六、代码示例
- 6.1 对`Series`一维数组进行操作
- 6.1.1 代码
- 6.1.2 代码解释
- 6.2 对`DataFrame`多维数组进行操作
- 6.2.1 代码
- 6.2.2 代码解释
- 6.3 从CSV文件读取数据,并进行基本的数据操作:
- 6.3.1 代码
- 6.3.2 代码解释
- 七、总结(思维导图)
一、安装pandas
第三方库
在pycharm中如图所示操作即可:
二、pandas
的定义
pandas
是一个Python第三方库,用于数据分析和数据处理
三、特点
3.1 强大的数据结构
Pandas提供了DataFrame和Series两种核心数据结构,可以方便地存储和操作数据
3.2 灵活的数据操作
Pandas提供了丰富的数据操作功能,如索引、切片、过滤等
3.3 数据聚合和转换
Pandas提供了数据聚合和转换的功能,如分组、汇总、转换等
3.4 数据清洗
Pandas提供了数据清洗的功能,如缺失值处理、重复值处理等
3.5 数据可视化
Pandas与Matplotlib和Seaborn等库结合使用,可以进行数据可视化
3.6 集成性
Pandas可以与NumPy、Matplotlib、Seaborn等库无缝集成
四、功能
4.1 数据读取
从CSV、Excel、JSON等多种数据源读取数据
4.2 数据操作
索引、切片、过滤、添加和删除列等
4.3 数据聚合和转换
分组、汇总、转换数据类型等
4.4 数据清洗
处理缺失值、重复值等
4.5 数据可视化
绘制图表、图形等
4.6 集成性
与NumPy、Matplotlib、Seaborn等库无缝集成
五、使用场景
5.1 数据分析
对大量数据进行分析,如趋势分析、统计分析等
5.2 数据处理
对数据进行清洗、转换等操作
5.3 数据可视化
绘制图表、图形等,以便更好地理解数据
5.4 机器学习
作为数据预处理和特征工程的一部分
5.5 报告和文档
生成数据报告和文档
六、代码示例
6.1 对Series
一维数组进行操作
6.1.1 代码
# 创建一个Series对象,包含索引和值
obj = Series([4, 5, 6, -10], index=['a', 'b', 'c', 'd'])# 打印Series对象,显示索引和值
print(obj)# 打印Series对象的dtype(数据类型)
print(obj.dtype)# 打印Series对象的索引
print(obj.index)# 打印Series对象的值
print(obj.values)# 修改索引'a'对应的值
obj['a'] = 2222# 再次打印Series对象,显示更新后的值
print(obj)# 检查字符串'aa'是否在Series对象的索引中
print('aa' in obj)
6.1.2 代码解释
- 创建一个Series对象,包含四个整数和一个索引列表
- 打印原始Series对象,显示索引和值
- 打印Series对象的dtype,这里是int64,表示数据类型是64位整数
- 打印Series对象的索引,这是一个由字符串组成的索引列表
- 打印Series对象的值,这是原始的整数列表
- 修改索引’a’对应的值为2222
- 再次打印更新后的Series对象,显示新的值
- 检查字符串’aa’是否在Series对象的索引中,由于索引中没有’aa’,所以返回False
6.2 对DataFrame
多维数组进行操作
6.2.1 代码
import pandas as pd# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)# 显示DataFrame
print(df)# 添加新列
df['Salary'] = [50000, 60000, 70000]# 删除列
del df['Salary']# 更新数据
df.loc[1, 'Age'] = 32# 选择数据
print(df.loc[1]) # 输出: Bob 32
6.2.2 代码解释
- 导入Pandas库并给它一个别名pd
- 创建一个包含两列(‘Name’和’Age’)的字典,其中列值是列表
- 使用字典创建一个DataFrame对象,列名来自字典的键,列值来自字典的值
- 打印DataFrame对象,显示索引和值
- 添加新列,列名为’Salary’,值为一个列表
- 删除名为’Salary’的列
- 更新索引为1的行中’Age’列的值为32
- 选择索引为1的行,并打印出来,输出结果是’Bob’和’32’,因为’Age’列的值被更新了
6.3 从CSV文件读取数据,并进行基本的数据操作:
6.3.1 代码
# 导入pandas库
import pandas as pd# 从CSV文件读取数据
df = pd.read_csv('data.csv')# 显示数据
print(df)# 索引和切片
print(df.loc[1:3, ['Name', 'Age']])# 过滤数据
print(df[df['Age'] > 25])# 添加新列
df['Salary'] = [50000, 60000, 70000]# 删除列
del df['Salary']# 数据聚合和转换
grouped = df.groupby('Name')
print(grouped.mean())# 数据清洗
df.fillna(0, inplace=True)# 导入数据可视化第三方库
import matplotlib.pyplot as plt# 绘制柱状图
df.plot(kind='bar', x='Name', y='Age')
plt.show()
6.3.2 代码解释
- 读取了一个CSV文件,并创建了一个DataFrame对象
- 使用索引和切片来选择DataFrame中的特定部分
- 使用条件过滤来筛选数据
- 添加和删除列
- 数据聚合和转换
- 使用Pandas和Matplotlib库来绘制数据可视化图表