Pandas 是什么
Pandas 是 Python 中的数据操纵和分析软件包,也是一个强大的数据分析库。
Pandas 中两个新的数据结构:
- Pandas Series
- Pandas DataFrame
使用Pandas 的意义
- 机器学习算法能取得最近的飞速发展,部分原因就是我们可以用大量数据训练算法。
- 对于数据来说,数量并不是唯一重要的方面,数据质量也同等重要。经常大型数据库并不能直接馈送到学习算法中。
- 很多时候,大型数据集缺失值、存在离群值、不正确的值,等等…例如,如果数据存在大量丢失值或糟糕值,机器学习算法将无法达到很好的性能。
- 机器学习的重要一步是首先检查数据,通过进行一些基本的数据分析,确保数据很适合你的训练算法。
- Pandas Series 和 DataFrame 专门用于快速进行数据分析和操纵,并且使用起来。
Pandas 作为数据分析软件包的几个功能
- 允许为行和列设定标签
- 可以针对时间序列数据计算滚动统计学指标
- 轻松地处理 NaN 值
- 能够将不同格式的数据加载到 DataFrame 中
- 可以将不同的数据集合并到一起
- 与 NumPy 和 Matplotlib 集成
Pandas series 简介
Pandas series 是一个像数组一样的一维对象,可以存储很多类型的数据,例如数字或字符串。
Pandas series 和 NumPy ndarray的区别:
Pandas Series 和 NumPy ndarray 之间的主要区别之一是你可以为 Pandas Series 中的每个元素分配索引标签。换句话说,你可以为 Pandas Series 索引指定任何名称。
Pandas Series 和 NumPy ndarrays 之间的另一个明显区别是 Pandas Series 可以存储不同类型的数据。
Pandas Series 使用举例
import pandas as pd
# 创建一个存储生活用品的Pandas Series
groceries = pd.Series(data = [30, 6, 'Yes', 'No'], index = ['eggs', 'apples', 'milk', 'bread'])
# 输出创建的 Pandas Series
print(groceries)
输出:
eggs 30
apples 6
milk Yes
bread No
dtype: object
注意: 1. Pandas Series 的显示方式为:第一列是索引,第二列是数据。 2. 注意,数据的索引不是从 0 到 3,而是采用我们设置的食品名称。
Pandas Series 的一些属性获取数据信息
print('生活用品的Pandas Series的形状:', groceries.shape)
print('生活用品的Pandas Series维度:', groceries.ndim)
print('生活用品的Pandas Series个数', groceries.size)
输出:
生活用品的Pandas Series的形状: (4,)
生活用品的Pandas Series维度: 1
生活用品的Pandas Series个数 4
单独输出 Pandas Series 的索引标签和数据
print('The data in Groceries is:', groceries.values)
print('The index of Groceries is:', groceries.index)
输出:
生活用品的Pandas Series的数据: [30 6 'Yes' 'No']
生活用品的Pandas Series的索引: Index(['eggs', 'apples', 'milk', 'bread'], dtype='object')
使用 in
命令检查Pandas Series中是否存在某标签:
# 检查 香蕉 索引 是否在生活用品的索引列表中
x = 'bananas' in groceries
# 检查 面包 索引 是否在生活用品的索引列表中
y = 'bread' in groceries
# 输出结果
print('香蕉在生活用品的标签列表中吗?', x)
print('面包在生活用品的标签列表中吗?', y)
输出:
香蕉在生活用品的标签列表中吗? False
面包在生活用品的标签列表中吗? True