1 pandas简介
pandas 是一种列存数据分析 API。它是用于处理和分析输入数据的强大工具,很多机器学习框架都支持将 pandas 数据结构作为输入。 虽然全方位介绍 pandas API 会占据很长篇幅,但它的核心概念非常简单,我们会在下文中进行说明。有关更完整的参考,请访问 pandas 文档网站,其中包含丰富的文档和教程资源。
Pandas 是用于进行数据分析和建模的重要库,广泛应用于 TensorFlow 编码。该教程提供了学习本课程所需的全部 Pandas 信息。
2 学习目标
1)大致了解 pandas 库的 DataFrame 和 Series 数据结构
2)存取和处理 DataFrame 和 Series 中的数据
3)将 CSV 数据导入 pandas 库的 DataFrame
4)对 DataFrame 重建索引来随机打乱数据
3 基本概念
以下行导入了 pandas API 并输出了相应的 API 版本:
from __future__ import print_function import pandas as pd pd.__version__
在jupyter中运行结果 '0.23.4'
pandas 中的主要数据结构被实现为以下两类:
- DataFrame,您可以将它想象成一个关系型数据表格,其中包含多个行和已命名的列。
- Series,它是单一列。DataFrame 中包含一个或多个 Series,每个 Series 均有一个名称。
数据框架是用于数据操控的一种常用抽象实现形式。Spark 和 R 中也有类似的实现。
创建 Series 的一种方法是构建 Series 对象。例如:
pd.Series(['San Francisco', 'San Jose', 'Sacramento'])
运行结果
0 San Francisco 1 San Jose 2 Sacramento dtype: object
pd.Series函数可以将其中的参数(string)作为dict的列名称传递到各自的Series中,从而创建DataFrame对象;如果series的长度不一致,系统会用特殊的NA/NaN值填充至缺失值处。
city_names = pd.Series(['San Francisco', 'San Jose', 'Sacramento']) population = pd.Series([852469, 1015785, 485199]) pd.DataFrame({ 'City name': city_names, 'Population': population })
运行结果
City name | Population | |
---|---|---|
0 | San Francisco | 852469 |
1 | San Jose | 1015785 |
2 | Sacramento | 485199 |
当长度不一致时,则有下列结果
city_names = pd.Series(['San Francisco', 'San Jose', 'Sacramento','hao']) population = pd.Series([852469, 1015785, 485199]) pd.DataFrame({ 'City name': city_names, 'Population': population })
运行结果
City name |
Population |
|
0 |
San Francisco |
852469.0 |
1 |
San Jose |
1015785.0 |
2 |
Sacramento |
485199.0 |
3 |
hao |
NaN |