Python Pandas
🍦 Pandas既指Panel Data,又指Data Analysis,具有分析、清理、探索数据等功能,由Wes McKinney于2008年创建。
1 Pandas
- Pandas
- 命令窗口下使用
pip install pandas
进行安装。 - 通过import关键字将其导入应用程序,通常以
pd
别名替代。 - 检查Pandas版本,版本字符串存储在
__version__
属性下。
- 命令窗口下使用
1 |
|
2 创建系列
- 创建系列
- Pandas Series就像表格中的一列,是一个保存任何类型数据的一维数组。
- 若未指定其他内容,使用索引号标记值,第一个值索引为0,第二个为1,以此类推。
- index参数创建自定义标签,创建系列时还可用键值对象,同理index参数指定标签。
- Pandas中的数据集通常是多维表,即DataFrames,Series是列,DataFrame就是表。
1 |
|
3 DataFrame
- DataFrame
- 一种二维数据结构,例如二维数组或具有行和列的表。
- 使用loc属性返回一个或多个指定行,index参数自定义索引。
- 若数据集存储在文件中,Pandas可将其加载到DataFrame中。
1 |
|
3-1 读取CSV
- 读取CSV
to_string()
:用于打印整个DataFrame。- 若包含多行的大型DataFrame,Pandas将只返回前5行和最后5行。
- 可使用
pd.options.display.max_rows
语句检查系统的最大行数。
1 |
|
3-2 读取JSON
- 读取JSON
to_string()
:用于打印整个DataFrame,JSON对象具有与字典相同的格式。- 若JSON代码不在文件中在Python字典里,则可直接将其加载到DataFrame中。
1 |
|
4 分析数据
- 分析数据
head()
:从顶部开始返回标题和指定数量的行,不指定行数时默认返回前5行。tail()
:从底部开始返回标题和指定数量的行,不指定行数时默认返回后5行。info()
:打印有关数据的信息,返回RangeIndex行数和Columns列数、每列名称和数据类型。
1 |
|
5 清理数据
- 清理数据
- 清理意味着修复数据集中的不良数据,可能是空单元格、数据格式错误、错误数据或重复数据。
dropna()
:删除包含空单元格的行,返回新DataFrame且不改变原来的,inplace参数可以改变。fillna()
:允许用一个值替换空单元格,通过指定DataFrame的列名,可以替换指定列的空值。- 平均值
mean()
、中位数median()
和众数mode()
方法计算指定列的相应值,用于替换空单元格。
1 |
|
5-1 错误格式
- 错误格式
- 删除相应行,或将列中的所有单元格转换为相同格式。
to_datetime()
:将列中的日期元素转换为日期格式。dropna()
:NaT值即空日期,可将其处理为NULL值,删除对应行。
1 |
|
5-2 错误数据
- 错误数据
- 错误数据不一定是空单元格或错误格式,也可能只是错误的。
- 错误数据可能是拼写错误,可以在对应行插入数据进行替换。
- 另一种处理方法就是使用
drop()
方法删除包含错误数据的行。
1 |
|
5-3 重复数据
- 重复数据
duplicated()
:为每一行返回一个布尔值,重复将返回True,否则为False。drop_duplicates()
:删除重复项,inplace参数会从原始DataFrame中删除。
1 |
|
6 数据相关性
- 数据相关性
corr()
:计算数据集中每一列之间的关系,该方法将忽略非数字列。- 返回结果是一个包含大量数字的表格,这些数字表示两列之间的关系。
- 数字从-1到1不等。
- 1完全相关,数据集中,每次第一列的值上升,另一个值也会上升。
- 0.9表示数据良好相关,增加一个值,另一个可能也会增加。
- -0.9也是数据良好相关,增加一个值,另一个可能会下降。
- 0.2表示不良相关,意味着如果一个值上升,另一个值不一定上升。
1 |
|
7 可视化图表
- 可视化图表
plot()
方法创建图表,也可以使用Matplotlib库的子模块Pyplot创建。- 直方图:指定参数
kind="hist"
,并且只需要一列。 - 散点图:指定参数
kind="scatter"
,并需x轴和y轴。
1 |
|
Python Pandas
https://stitch-top.github.io/2021/06/08/python/python07-python-pandas/